7zip: Wie kann ich Dateien (keine Dateitypen) mithilfe einer Ausschlusslistendatei ausschließen?

11

Ich weiß, dass Sie eine Textdatei mit einer Liste von Dateien erstellen und dann 7zip anweisen können, auf diese Datei zu verweisen, damit sie aus dem Archiv ausgeschlossen werden können, aber ich kann die Syntax dafür nicht finden. Kann jemand helfen?

oscilatingcretin
quelle

Antworten:

9

Nach ein paar Stunden der Suche habe ich es endlich herausgefunden. Hier ist die Switch-Syntax:

7z a [email protected] backup.7z c:\whatever\*

Beachten Sie -xrstatt -x. Das rzeigt rekursiv an, damit ausgeschlossene Dateien in tiefen Ordnerhierarchien abgeglichen werden können. Das Format der Textdatei kann mindestens ANSI oder UTF-8 sein.

Wie OldWolf sagte, handelt es sich bei der Datei, die die Dateien enthält, um eine Liste, die durch Zeilenumbrüche wie folgt getrennt ist:

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

Klappt wunderbar.

oscilatingcretin
quelle
1
Vielen Dank! Ich habe versucht, mit der Platzhalteroption auszuschließen, und es stellte sich heraus, dass mir die rOption fehlte . Dies ist der richtige Weg, um PNG-Dateien rekursiv in Bash auszuschließen (einfache Anführungszeichen, um zu verhindern, dass Bash erweitert wird !und *): -xr'!*.png' (Bearbeiten: einfache Anführungszeichen statt Escape)
Thomasa88
4

Ich denke du willst den -x Schalter mit @

7z a -t7z my.zip * [email protected]

Im Nachhinein wurde mir klar, dass Sie möglicherweise gemeint haben, dass Sie die Syntax für die Listendatei haben möchten. Es sollte eine durch Zeilenumbrüche getrennte Liste sein. Möglicherweise tritt ein Codierungsproblem auf. 7z erwartet, dass es im UTF-8-Format vorliegt. Sie können dies mit dem Schalter -scs überschreiben oder den Editor anweisen, die Datei im UTF-8-Format zu speichern

OldWolf
quelle
2
Vielen Dank für die Erinnerung an die Dateicodierung. Ich habe stundenlang darüber nachgedacht, warum meine Ausschlussliste nicht eingehalten wurde. Ich erstelle die Datei in einem PowerShell-Skript mit Out-File, das standardmäßig Unicode ist. Ändern Sie es auf die Ausgabe von UTF8 und plötzlich funktioniert einfach alles.
WileCau
0

Wenn Ihre Liste sehr kurz sein soll, können Sie mehr als ein -x-Flag haben:

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

Übrigens musste ich beim Testen die ZIP-Datei weiter löschen. Als ich das vergaß, war zum Beispiel targetver.h vom letzten Lauf noch in der ZIP.

jbr
quelle