Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

I'm doing something 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 *.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. Is this simply a limitation of 7zip?

share|improve this question
up vote 85 down vote accepted

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
share|improve this answer
For everyone else: if you want to ignore only the files in the root directory, use -xr0!*.zip - at least I couldn't get it to work without the r0. – Oliver Feb 23 '13 at 9:46

To avoid bug, use -r or -xr carefully.

suppose you have directories like:


and run the command:

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

what you got in archive.7z: .\path2\src .\path5\src

That is, the path2 and path5 became the TOP folder in zip file. and both bin directories were excluded.

-x only support path/filename RELATIVE TO THE FINAL PATH IN ZIP FILE. So, if you only want to exclude


but to include all the other 'bin' directories, the command should be like this:

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

I tried to use absolute path in -x, but never succeed.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .