web-dev-qa-db-ja.com

1種類のファイルのみを再帰的に含める7-Zipコマンドラインオプション

7-Zipを使用して、指定されたパスの下にtxtファイルを追加したいと思います。

私がこれを試したヘルプを見て:

7za a  -ir!*.txt bla.7z c:\initial\path

これには、txtかどうかに関係なく、すべてのファイルが含まれることになりました。

見て この質問 私はこれをやろうとしました:

7za a  -ir!.\*.txt bla.7z c:\initial\path

これは私にこの厄介なメッセージを与えることになった:

Error:
Duplicate filename:
c:\initial\path\CLI\0003\readme.txt
c:\initial\path\CLI\0003\readme.txt

興味深いことに、-xrオプションは私にとっては問題なく機能します。たとえば、私が試した場合:

7za a  -xr!*.txt bla.7z c:\initial\path

txt以外のすべてのファイルが含まれています。

5
Ricardo

7z a bla.7z -r c:\initial\path\*.txtをお試しください

複数のワイルドカードのセットを含める場合を除いて、-iスイッチを使用する必要はありません。その場合、同じコマンドラインでワイルドカードのセットごとに複数の-iを使用する必要があります。しかし、それは後部の大きな大きな痛みであり、推奨ではありません。

ファイルパスをリストファイルに出力し、パスのリストを7zにフィードすることをお勧めします。

4
surfasb