Code Monkey home page Code Monkey logo

lzxauto's Introduction

LZXAuto

Automatically compress files to NTFS LZX compression with minimal disk write cycles.

Syntax: LZXAuto [/log:mode] [/resetDb] [/scheduleOn] [/scheduleOff] [/? | /help] [filePath]

Options:

/log: [None, General, Info, Debug] - log level. Default value: Info None - nothing is outputted General - Session start / end timestamp, skipped folders Info - General + statistics about current session Debug - Info + information about every file

/resetDb - resets db. On next run, all files will be traversed by Compact command.

/scheduleOn - enables Task Scheduler entry to run LZXAuto when computer is idle for 10 minutes. Task runs daily.

/scheduleOff - disables Task Scheduler entry

/? or /help - displays this help screen

filePath - root path to start. All subdirectories will be traversed. Default is root of current drive, like c:.

Description: Windows 10 extended NTFS compression with LZX alghorithm. Files compressed with LZX can be opened like any other file because the uncompressing operation is transparent. Compressing files with LZX is CPU intensive and thus is not being done automatically. When file is updated, it will be saved in uncompressed state. To keep the files compressed, windows Compact command needs to be re-run. This can be done with Task Scheduler.

There is a catch with SSD drives though. When Compact command is being run on file already LZX-compressed, it will not try to recompress it. However, if file is not compressible (like .jpg image), Compact will try to recompress it every time, writing temp data to disk.

This is an issue on SSD drives, because of limited write cycles. LZXAuto keeps record of file name and its last seen size. If the file has not changed since last LZXAuto run, it will be skipped. This saves SSD write cycles and also speeds up processing time, as on second run only newly updated / inserted files are processed.

If folder is found with NTFS compression enabled, after processing it will be marked as non-compressed. This is because LZX-compression does not use NTFS Compressed attribute.

Iterating through files is multithreaded, one file per CPU logical core. For larger file accessibility, this command should be run with Adminstrator priviledges.

Typical use: LZXAuto /scheduleOn c:\

lzxauto's People

Contributors

chrisborecki avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lzxauto's Issues

Build instructions

Is it possible to provide any building instructions? (required dependencies and such)

After building with VS Code complains about an already out-of-support framework

C:\Users\XXXX\Downloads\LZXAuto-master\LZXAuto\bin\Debug\netcoreapp3.1>LZXAuto.exe /help
You must install or update .NET to run this application.

App: C:\Users\XXXX\Downloads\LZXAuto-master\LZXAuto\bin\Debug\netcoreapp3.1\LZXAuto.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '3.1.0' (x64)
.NET location: C:\Program Files\dotnet\

The following frameworks were found:
  6.0.25 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  8.0.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=win-x64&os=win10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.