7zip: Як виключити файли (не типи файлів) за допомогою списку виключень?


11

Я знаю, що ви можете створити текстовий файл, що містить список файлів, а потім сказати 7zip для посилання на цей файл, щоб він міг виключити їх з архіву, але я не можу знайти для цього синтаксис. Може хтось допоможе?

Відповіді:


9

Після кількох годин пошуку я нарешті зрозумів це. Ось синтаксис перемикання:

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

Зауважте -xrзамість -x. rВказує на рекурсивне тому він може відповідати виключені файли в глибоких ієрархії папок. Також формат текстового файлу може бути принаймні ANSI або UTF-8.

Що стосується файлу, що містить файли, як сказав OldWolf, це список, розділений поверненнями каретки таким чином:

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

Працює як шарм.


1
Дякую! Я намагався виключити з підстановкою, і виявилося, що я пропустив rваріант. Це правильний спосіб виключення PNG-файлів рекурсивно в баші (одиничні лапки, щоб зупинити розгортання bash !і *): -xr'!*.png' (редагувати: одинарні лапки замість втечі)
thomasa88

4

Я думаю, ви хочете, щоб перемикач -x з @

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

З ретроспективою я зрозумів, що ви, мабуть, мали на увазі, що хочете синтаксису списку. Це повинен бути список, відокремлений новим рядком. Ви можете зіткнутися з проблемою кодування. 7z очікує, що він буде у форматі UTF-8, ви можете це змінити за допомогою перемикача -scs або ви можете сказати блокноту зберегти файл у форматі UTF-8


2
Дякуємо за нагадування про кодування файлів. Я годинами спантеличував, чому мій список виключень не дотримувався. Я створюю файл у скрипті PowerShell, використовуючи Out-File, який за замовчуванням Unicode. Змінивши його на вихід UTF8 і раптом все просто працює.
WileCau

0

Якщо ваш список буде дійсно коротким, ви можете мати більше одного -x прапора:

7z a -r CppSourceJBR.zip * .cpp .h -x! Stdafx. -x! targetver.h

BTW під час тестування мені довелося продовжувати видалення .zip-файлу. Наприклад, коли я забув, що, наприклад, targetver.h все ще знаходився в ZIP з останнього запуску.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.