宛先フォルダを同期するためのコマンドラインを解凍する

宛先フォルダを同期するためのコマンドラインを解凍する

.zip をフォルダーに解凍し、そのフォルダーの内容を .zip の内容と同期する方法はありますか?

-u(pdate) オプションを使用して、フォルダーを新しいファイルで更新できることはわかっていますが、それだけでは十分ではありません。実際の同期 (.zip に存在しないファイルを削除し、新しいファイルを更新) を実行する必要があります。

また、大きな .zip ファイルを同期するので、高速である必要があります。したがって、ワイプとクリーン解凍はオプションではありません。

目的を達成できるツールであれば、どのようなものでも構いません。ただし、コマンド ラインから無人で動作する必要があります。

答え1

ウィンジップには、抽出時に引数WZUNZIP.EXEと組み合わせて使用​​できる次のオプションが付いたコマンドライン サポート アドオンがあります。-e

-n-- 新しいファイルのみを解凍します。このオプションは、アーカイブされたファイルが新しい場合は既存のファイルを更新し、まだ存在しない場合は新しいファイルを作成します。

答え2

私自身、かなり長い間、この機能を備えたものを探していました。Info-ZIP ユーティリティは無料で、コマンド ライン ベースであり、新しいファイルを更新するだけでなく、ソース フォルダーに存在しないファイルをアーカイブから削除する -FS スイッチを備えています。つまり、ZIP ファイルの同期です。 http://www.info-zip.org/ 注: このユーティリティで唯一問題なのは、コマンド ライン引数の一部としてソース フォルダを明示的に指定する機能がないことです。現在の作業ディレクトリがソースとして使用されます。したがって、スクリプトでは、まず CD コマンドを使用してソース ディレクトリに変更し、次に ZIP コマンドを開始します。例:

CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .

関連情報