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 沒有「額外詳細」選項。但你可以使用7zip SDK並圍繞庫編寫一個簡單的包裝器來執行您想要的操作。

答案2

為什麼你需要那個?我的意思是,該-u標誌經過精確設計,可以對存檔更新進行細微控制。

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

Docz.7z如果您使用開關建立了存檔,則將更新新增和刪除檔案-ms=off(否則您將無法刪除檔案)。如果您需要將您擁有的內容C:\Documentsx\與存檔中的內容進行比較,您必須按照 Alex P. 的說法編寫包裝器,或者使用您想要在文件列表之間進行比較的任何內容編寫腳本和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」那麼冗長。

相關內容