7zip: How to exclude files (not file types) using an exclude list file?

11

1

I know you can create a text file containing a list of files and then tell 7zip to reference this file so that it can exclude them from the archive, but I cannot find the syntax for that. Can someone help?

oscilatingcretin

Posted 2011-08-30T20:12:39.497

Reputation: 4 093

Answers

9

After a few hours of searching, I finally figured it out. Here's the switch syntax:

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

Notice -xr instead of -x. The r indicates recursive so it can match excluded files in deep folder hierarchies. Also, the format of the text file can be at least ANSI or UTF-8.

As for the file containing the files, as OldWolf said, it's a list separated by carriage returns like this:

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

Works like a charm.

oscilatingcretin

Posted 2011-08-30T20:12:39.497

Reputation: 4 093

1Thanks! I was trying to do exclude with the wildcard option and it turns out I was missing the r option. This is the correct way to exclude PNG files recursively in bash (single quotes to stop bash from expanding ! and *): -xr'!*.png' (edit: single quotes instead of escape) – thomasa88 – 2015-07-27T08:48:28.453

4

I think you want the -x switch with @

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

In retrospect, I realized you may have meant you wanted the syntax for the listfile. It should be a newline separated list. You may be running into an encoding issue. 7z expects it to be in UTF-8 format, you can override that with the -scs switch or you can tell notepad to save the file in UTF-8 format

OldWolf

Posted 2011-08-30T20:12:39.497

Reputation: 2 293

2Thanks for the reminder about file encoding. I have been puzzling for hours as to why my exclusion list was not being obeyed. I produce the file in a PowerShell script using Out-File which defaults to Unicode. Changing it to output UTF8 and suddenly everything just works. – WileCau – 2014-04-27T12:23:41.613