同期時の詳細については、7zip コマンドライン オプションを参照してください。

同期時の詳細については、7zip コマンドライン オプションを参照してください。

7zip のコマンドライン オプションには、アーカイブから無視/削除されたファイルも 7z に出力させる引数はありますか? (オプションによって無視されたファイル-uq0)

呼び出し例:

"C:\Program Files\7-Zip\7z.exe" u "C:\Docz.7z" -uq0 "C:\Documentsx\*"

7zip 詳細:

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Scanning
Updating archive C:\Docz.7z
Compressing hello.txt
Everything is Ok

アーカイブが追加または置換された場合、「hello.txt を圧縮しています」と表示されます。

もっと詳しい情報や詳細な情報が欲しいのですが...次のような内容です:

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Scanning
Updating archive C:\Docz.7z
Updating hello.txt
Adding   examplenew.txt
Deleting/Ignoring documentdeleted.txt
Everything is Ok

答え1

7zipには「extra verbosity」オプションがありません。しかし、7zip SDKそして、ライブラリの周りに簡単なラッパーを記述して、必要な処理を実行します。

答え2

なぜそれが必要なのでしょうか? つまり、-uフラグはアーカイブの更新を細かく制御できるように正確に設計されているのです。

"C:\Program Files\7-Zip\7z.exe" -ms=off -uq0 u "C:\Docz.7z" "C:\Documentsx\*"

Docz.7zスイッチを使用してアーカイブを作成した場合、 はファイルの追加と削除を更新します-ms=off(そうでない場合、ファイルを削除できません)。 にある内容とアーカイブにある内容を比較する必要がある場合は、Alex P. が述べたようにラッパーを作成するか、 にあるファイルのリストと の出力をC:\Documentsx\比較するスクリプトを作成する必要があります。C:\Documentsx\7z l Docz.7z

たとえば、Linux のコマンドライン (スクリプトに変換可能) を使用する場合:

7z l Docz.7z | cut -c54-80 | sed -n -E '/---/,/---/p' | sed '/---/d' | sort > Docz.list
ls Documents/* | sort > Documents.list
diff Docz.list Documents.list

Linux を使用していないことは承知していますが、その bash スクリプトを独自のスクリプトのベースとして使用できます。

しかし、その背景と、何を達成しようとしているのかについて、もう少し詳しく教えていただけますか? 間違った道を選んだのかもしれません...

答え3

7z には、一種の冗長オプション「-bbX」があります。ここで、X は [0..3] で、最大冗長度は「-bb3」、そして「-slt」(技術情報の表示) があります。少なくとも Linux バージョンではそうですが、Windows バージョンにもあるのでしょうか? ただし、これは Linux の「xz」の「-vvv」ほど冗長ではありません。

関連情報