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?
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?
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.
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
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
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