LZX を使用してコマンドラインでファイルを圧縮できることは知っています。
COMPACT /C /S:E:\Backup /EXE:LZX
しかし、ファイルがディスクに書き込まれる前にそれを実行したいと思います。
エクスプローラー経由でルート フォルダーの圧縮を有効にすると、ファイルは弱い圧縮方法で書き込まれますが、私は LZX を使用したいと思います。
答え1
あなたはできません
同じようには動作せず、継承できず、フォルダー(自体)を圧縮できず、圧縮を維持しながら LZX ファイルに情報を変更(または追加)することもできません。変更すると、ファイルは新しいファイルのように完全に解凍され、再度圧縮する必要があります。
コンパクトヘルプでは以下が提供されます:
「/EXE でない限り、後で追加されたファイルは圧縮されるようにディレクトリがマークされます」
1 バイトを追加してファイルを解凍します。
>> test.txt をエコーします
LZX ファイルは、OS に対して透過的に作成された「zip ファイル」(GZ に似ています) に似ていますが、古い NTFS 方式の一般的な圧縮ファイルとは異なります。
私が提案する解決策は、スケジュールされたタスクを使用して、コンピューターがアイドル状態のときに(またはバックアップ後に)compactコマンドを実行することです。また、潜在的な速度低下や問題を防ぐために、動作中のプログラム内のLZX: dllおよびexeファイルのみを圧縮することをお勧めします(例のようにバックアップでない場合)。ルートディレクトリのブートファイルは圧縮しないでください。
ファイルがすでに古い方法で圧縮されている場合は、最初に再圧縮を強制するために /F を追加し、フォルダー自体から圧縮を削除して「弱い方法」が使用されないようにするか、弱い圧縮ファイルを見つけて再圧縮するためのより複雑なプログラムを作成する必要があります。
また、LZX は以前のバージョンの Windows と互換性がないことに注意してください。