題 7zip:如何使用排除列表文件排除文件(不是文件類型)?


我知道你可以創建一個包含文件列表的文本文件,然後告訴7zip引用這個文件,以便它可以將它們從存檔中排除,但我找不到它的語法。有人可以幫忙嗎?


10
2017-08-30 20:12


起源




答案:


經過幾個小時的搜索,我終於明白了。這是切換語法:

7z a -xr@exclude.txt backup.7z c:\whatever\*

注意 -xr 代替 -x。該 r 表示遞歸,因此它可以匹配深層文件夾層次結構中的排除文件。此外,文本文件的格式至少可以是ANSI或UTF-8。

至於包含文件的文件,正如OldWolf所說,它是一個由回車分隔的列表,如下所示:

Telerik.Reporting.dll
Telerik.Reporting.Service.dll
Telerik.ReportViewer.WebForms.dll
Telerik.Web.Design.dll
Telerik.Web.UI.dll
*.txt

奇蹟般有效。


7
2017-08-30 22:48



謝謝!我試圖用通配符選項進行排除,結果發現我錯過了 r 選項。這是在bash中遞歸排除PNG文件的正確方法(單引號以阻止bash擴展) ! 和 *): -xr'!*.png'  (編輯:單引號而不是轉義) - thomasa88


我想你想用-x開關@

7z a -t7z my.zip * -x@myexclusion.lst

回想起來,我意識到你可能意味著你想要listfile的語法。它應該是換行符分隔列表。您可能遇到了編碼問題。 7z期望它是UTF-8格式,您可以使用-scs開關覆蓋它,或者您可以告訴記事本以UTF-8格式保存文件


4
2017-08-30 21:19



感謝有關文件編碼的提醒。幾個小時以來,我一直在困惑,為什麼我的排除名單沒有被遵守。我使用Out-File在PowerShell腳本中生成文件,默認為Unicode。將其更改為輸出UTF8,突然一切正常。 - WileCau