7zip:除外リストファイルを使用してファイル(ファイルタイプではない)を除外する方法


11

ファイルのリストを含むテキストファイルを作成し、7zipにこのファイルを参照するように指示して、アーカイブからそれらを除外できることを知っていますが、その構文を見つけることができません。誰か助けてもらえますか?

回答:


9

数時間探した後、ようやくそれを見つけました。スイッチの構文は次のとおりです。

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

-xr代わりに注意してください-xrそれは深いフォルダ階層で除外されたファイルを一致させることができますので、再帰を示しています。また、テキストファイルの形式は、少なくともANSIまたはUTF-8にすることができます。

OldWolfが言ったように、ファイルを含むファイルは、次のように改行で区切られたリストです。

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

魅力のように機能します。


1
ありがとう!ワイルドカードオプションを使用して除外しようとしたところ、rオプションがないことがわかりました。これは、bashでPNGファイルを再帰的に除外する正しい方法です(bashが展開されないようにするための単一引用符!*):( -xr'!*.png' 編集:エスケープの代わりに単一引用符)
thomasa88

4

@付きの-xスイッチが必要だと思います

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

振り返ってみると、listfileの構文が欲しかったのかもしれません。改行で区切られたリストでなければなりません。エンコードの問題が発生している可能性があります。7zはそれがUTF-8形式であることを想定しています。-scsスイッチでそれを上書きするか、メモ帳にファイルをUTF-8形式で保存するように指示できます。


2
ファイルのエンコーディングに関する注意をありがとう。私の除外リストが守られなかった理由について何時間も戸惑っていました。デフォルトでUnicodeになっているOut-Fileを使用して、PowerShellスクリプトでファイルを生成します。UTF8を出力するように変更すると、突然すべてが機能します。
WileCau 2014

0

リストが本当に短くなる場合は、複数の-xフラグを指定できます。

7z a -r CppSourceJBR.zip * .cpp .h -x!stdafx。-x!targetver.h

ところで、テスト中は.zipファイルを削除し続けなければなりませんでした。私がそれを忘れたとき、例えば、targetver.hは最後の実行からのZIPにまだ残っていました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.