Wie verwende ich 7-zip zum Sichern von Dateien, schließe aber einige Verzeichnisse aus
60232
Mikael Sundberg
Ich möchte 7-zip verwenden, um ein Verzeichnis zu sichern, aber ich möchte, dass es alle Verzeichnisse mit dem Namen ".svn" (irgendwo im Quellbaum) ausschließt. Weiß jemand, ob dies möglich ist und in diesem Fall wie?
Um alle .svn-Verzeichnisse auszuschließen, müssen Sie den -xr!?svn\*Schalter hinzufügen
Im Folgenden wird beispielsweise eine Sicherung des C:\Project\To\BackupVerzeichnisses erstellt, wobei alle Ordner, die die Anforderungen erfüllen, ausgeschlossen werden ?svn:
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*
Danke ManiacD, aber ich kann das nicht zum Laufen bringen -xr!? Svn \ * gibt mir einen Fehler und wenn ich -xr! .Svn \ * versuche, schließt es immer noch nicht .svn aus
Mikael Sundberg vor 15 Jahren
0
Sie brauchen einen Backslash nach? svn, damit es funktioniert, was bedeutet, dass alles unter dem .svn-Verzeichnis ausgeschlossen wird. -xr!? svn \\ *
ManiacD vor 15 Jahren
0
Machen Sie sich keine Sorgen, dass ich jede Menge Probleme hatte, damit es auch funktioniert. Der 7-Zip-Exklusivschalter -x (-xr-Recurse-Verzeichnis) mit! schließt Dateinamen aus, die auf einer Platzhaltersuche basieren. Ohne den Backslash wird versucht, Dateinamen auszuschließen, die mit? Svn * übereinstimmen. asvn.log mit dem \\ * am Ende bedeutet, dass nichts unter einem Verzeichnis enthalten ist, das mit? svn übereinstimmt
ManiacD vor 15 Jahren
0
Einzelheiten zur Verwendung von Platzhaltern finden Sie in der Hilfedatei von 7-Zip. Hat mir vor ein paar Tagen geholfen, eine ähnliche Aufgabe zu lösen. 7-Zip verwendet Wildcards ein bisschen ... anders;)
släcker vor 15 Jahren
0
Ich habe es zum Laufen gebracht, seltsam, dass diese Antwort derzeit die einzige ist, die noch nicht bestätigt wurde. +1 und akzeptiert. Vielen Dank an alle, die meine Frage beantwortet haben.
Mikael Sundberg vor 15 Jahren
0
Und wenn Sie hier auf der Suche nach einem allgemeinen Ordnerausschluss gestolpert sind, beachten Sie, dass das `?` Mit 'period-svn' (`.svn`) übereinstimmt. Um alles im Ordner` SkipMe` zu überspringen, würden Sie `-xr! SkipMe verwenden \ * `
drzaus vor 11 Jahren
3
13
Richard Slater
Anstelle von 7-Zip zum Ausschließen der Ordner .svn (oder möglicherweise von _svn) würde ich empfehlen, den Befehl svn export (verwenden Sie svn.exe von SlikSVN ) zu verwenden, um die Arbeitskopie in einen temporären Ordner zu exportieren:
svn export C:\Path\To\WC C:\Backup\Staging
Dann verwenden Sie 7-Zip wie folgt:
7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r
Dann löschen Sie den Bereitstellungsordner.
Dies ist, was ich mache, um meine lokalen Arbeitskopien zu sichern.
Danke für den Exporttipp. Auch im TortoiseSVN-Menü verfügbar.
Arnold Spence vor 14 Jahren
0
12
Tim Desjardins
Sie können Dateien mit 7zip mithilfe einer Liste von Dateien oder Verzeichnissen ausschließen:
/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \ '-xr@\path\to\backup_daily_exclude.lst'
Der Schlüssel ist -xr und insbesondere das "r", das angibt, um die Ausschlussliste rekursiv auf jede Ebene des Verzeichnisses anzuwenden. Sie können zwei Ausschlussdateilisten verwenden, eine für absolute und eine für rekursive Ausschlüsse. Das obige ist von einem bash-Skript, das in cygwin ausgeführt wird.
4
Wenn ich gebraucht habe
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*
Am Ende fügte er das .git-Verzeichnis hinzu, das ich nicht wollte, und änderte es in
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*
das gewünschte Ergebnis erhalten.
3
Ashutosh Jindal
Wenn ich gebraucht habe
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*
Das WEB-INF-Verzeichnis wurde nicht ausgeschlossen. Hinzufügen eines Sterns vor dem Verzeichnisnamen
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*
Hab das gewünschte Ergebnis erhalten.
Sternchen ist der wichtigste Teil. Dies sollte weitere positive Bewertungen bringen.
colthreepv vor 6 Jahren
0
0
Kit Menke
Für mich habe ich versucht, eine Reihe von Maven-Code-Verzeichnissen zu sichern und wollte jedes Verzeichnis namens "target" ausschließen:
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\
Relevanter Ausschlussparameter war -xr!*\target\*.