2010-01-18 15:37:26 +0000 2010-01-18 15:37:26 +0000
116
116

7Zip - コマンドライン : ワイルドカードパターンでフォルダを除外しますか?

コマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下には`binコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下にはと`objコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下には`binコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下にはとのフォルダがあるかもしれないし、ないかもしれない。これらをアーカイブに含めないようにしたいのですが、どうすればいいでしょうか?

0x1&

のようなパターンを試してみましたが、どれも `binコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下には`binコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下にはと`objコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下には`binコマンドラインの 7zip コマンドからワイルドカード付きのパスを除外する方法について何か考えがありますか?

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

のようなことをしています。

7z a -tzip archive.zip *.txt -x!temp.*

で、「FolderToArchive」の下にある \bin\*.* または \obj\*.* のフォルダを除外したいと思います。

ファイルを除外するには、-x パラメータを使用します。ヘルプファイルには、-x の使用例が記載されています。

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

これはファイルを除外するのに最適です。しかし、またしても、ワイルドカードで指定したフォルダを除外したいと思います。私の「FolderToArchive」の下には複数のフォルダがあり、それらのフォルダの下にはとのフォルダがあるかもしれないし、ないかもしれない。これらをアーカイブに含めないようにしたいのですが、どうすればいいでしょうか?

0x1&

のようなパターンを試してみましたが、どれも フォルダを除外しているようには見えません。これは単に 7zip の制限なのでしょうか?

回答 (3)

142
142
142
2010-01-18 15:53:48 +0000

bin_ と obj フォルダを再帰的に除外するには、コマンドを使用します。

7z.exe a -t7z archive.7z FolderToArchive\ -mx0 -xr!bin -xr!obj
18
18
18
2014-03-01 10:27:16 +0000

バグを避けるためには -r または -xr を慎重に使用してください。

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

のようなディレクトリがあるとします。

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

のようなディレクトリがあるとします。

.\path2\src
.\path5\src

アーカイブ.7z の結果は次のようになりました:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

つまり、`.\path2バグを避けるためには -r または -xr を慎重に使用してください。

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

のようなディレクトリがあるとします。

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

のようなディレクトリがあるとします。

.\path2\src
.\path5\src

アーカイブ.7z の結果は次のようになりました:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

つまり、 と `.\path5バグを避けるためには -r または -xr を慎重に使用してください。

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

のようなディレクトリがあるとします。

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

のようなディレクトリがあるとします。

.\path2\src
.\path5\src

アーカイブ.7z の結果は次のようになりました:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

つまり、`.\path2バグを避けるためには -r または -xr を慎重に使用してください。

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

のようなディレクトリがあるとします。

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

のようなディレクトリがあるとします。

.\path2\src
.\path5\src

アーカイブ.7z の結果は次のようになりました:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

つまり、 と がアーカイブ.7z の トップフォルダ になり、両方の bin ディレクトリが除外されたことになります。

-xはアーカイブのトップフォルダに関係するパス/ファイル名しかサポートしていません。

-x はアーカイブの一番上のフォルダと関係のあるパス/ファイル名のみをサポートしています。

0x1&

-x で絶対パスを使おうとしましたが、一度も成功しませんでした。

0x1&

2x2& -xで絶対パスを使おうとしましたが、成功しませんでした。

Marco によると、.\path1\path2\binはWindowsでも7-zip 15.14から利用可能だそうです。

0
0
0
2020-02-20 10:28:15 +0000

zhazhaさんの回答に基づいて、サブフォルダを正確に除外する方法をより明確にします。Windows 10では、Visual Studioソリューションのルートフォルダをバックアップするには、次のようにします。

D:\VS2019\Sln1

とします。

//goto the parent of the root folder first which make thing clearer
//not sure what will happen if you go into the root folder
cd D:\VS2019
"<path-of-7z>z.exe" a -tzip -mx0 Sln1_backup.zip Sln1 -x!Sln1\.vs -x!Sln1\Debug -x!Sln1\Release -x!Sln1\lib -x!Sln1\Project1\x64 -x!Sln1\Project2\obj

とすると、指定したサブフォルダだけが除外されることを確認できます。例えば、Sln1\Project3\objやSln1\Project4\liblibは意図せずに除外されることはありません。隠された巨大な.vsフォルダのために動作します。

-mx0はアーカイブ/圧縮なしを意味する。