1

ディレクトリ内のすべてのファイルを圧縮するために 7-zip を実行する .bat ファイルがあります。ファイルのサイズは 1 mb から 500 mb の範囲で、10 個のファイルがあります。スケジュールされたバックアップ プログラムは、15 分ごとに 10 個のファイルのうち 5 個を上書きします。通常、これらの 5 つのファイルは最小で圧縮が最も高速ですが、7-zip は最初に最大のファイルから開始されるため、15 分以内に 5 つのファイルが失われます。最初に最小のファイルから開始するように 7-zip を取得するにはどうすればよいですか。どんな助けでも大歓迎です。

c:
cd "\Program Files\7-Zip"
7z a C:\WEBDATA C:\FILE1.BAK C:\FILE2.BAK C:\FILE3 C:\FILE4 C:\FILE5 etc...
4

1 に答える 1

0

すべてのファイルが同じディレクトリにある場合は、dirコマンドのソート機能を使用して、一度に 1 つずつアーカイブにファイルを追加できます。

たとえば、バックアップするファイルが「files」というサブディレクトリにある場合:

for /f %%N in ('"dir /A-D /O:S /B files"') do (
   7z a backup.7z files/%%N
)

あなたの説明に基づいて、これで十分なはずですが、ファイルがさまざまな場所にある場合は、より洗練されたものにする必要があるかもしれません. 私は自分で試したことはありませんが、ディレクトリのリストをループして、各サイズ/ファイル名を一時ファイルに書き込み、sortそのファイルでコマンドを使用できると思います。

于 2012-09-12T15:31:35.683 に答える