7Zip – Command Line : Exclude folder(s) by wildcard pattern

7-zipcommand line

Any idea how to exclude a wild-carded path(s) from a command-line 7zip command?

I'm doing something like this:

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

and would like to exclude any \bin\*.* or \obj\*.* folders found underneath "FolderToArchive".

To exclude files, you can use the -x parameter. The help file gives this example for using -x:

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

That's great for excluding a file. But, again, I would like to exclude a wildcard-specified folder. Under my "FolderToArchive" there are multiple folders, under those folders there may or may not be bin\ and obj\ folders. I would like to not include these in the archive.

I've tried patterns like

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

None seem to exclude the bin\ folder. Is this simply a limitation of 7zip?

Best Answer

To exclude the bin and obj folders recursively you can use the command:

7z.exe a -t7z archive.7z FolderToArchive\ -mx0 -xr!bin -xr!obj
Related Question