Archiv verlassen und diese Seite im Standarddesign anzeigen : 7-zip
Hallo,
ich habe eine Aufgabe die ich gerne mit 7-zip* lösen würde.
Ich habe eine grosse Dateiliste (mit Pfadangaben). Diese Dateien verteilen sich über verschiedene Laufwerke und Verzeichnisse. Diese Dateien hätte ich gerne archiviert. Wichtig dabei ist, dass die Dateien mit Pfadangabe bzw. dem absoluten Pfad gesichert werden. Sollten verschiedene Laufwerke zusammen nicht möglich sein, kann ich das auch für jedes Laufwerk einzeln machen. Dateien sind genug vorhanden, so dass sich auch das für mich lohnen würde.
Eine Komplettsicherung scheidet aufgrund der enormen Datenmenge aus.
Ich hoffe jemand kann mir helfen.
Vielen Dank im voraus für die Hilfe!
* andere Lösungsvorschläge sind mir natürlich auch willkommen
Die Kommandozeilenversion von 7Zip unterstützt List Dateien.
Ich weiss aber nicht, ob die Orginalpfade erhalten bleiben !
Hier mal den Text aus der Hilfe:
For example, if the file "listfile.txt" contains the following:
My programs\*.cpp
Src\*.cpp
then the command
7z a -tzip archive.zip @listfile.txt
adds to the archive "archive.zip" all "*.cpp" files from directories "My programs" and "Src".
O.K. Die Liste schluckt er schon mal. Die Pfade fehlen noch. Ein weiteres Problem hat sich mir aber in den Weg gestellt. Einige Dateinamen sind doppelt oder mehrfach vorhanden. Das mag 7-zip gar nicht und bricht mit einer Fehlermeldung ab. -.-
Das mit den Pfaden könnte sich evtl. in wohlgefallen auflösen. Die Liste kann ich wohl auch wieder beim entpacken einlesen.
sei laut
2009-10-02, 19:32:23
Versuch mal beim extrahieren
7z x archive.zip
Das Textfile mit den Pfaden will er beim entpacken nicht:
Error:
Cannot use absolute pathnames for this command
Also wenn ich mit dem parameter "x" entpacken versuche.
sei laut
2009-10-02, 20:08:11
7z x archive.zip -oX:\*
wäre der vollständige Befehl, die Pfade sollten ja im Archiv gespeichert sein. Oder irre ich mich?
X = Laufwerksbuchstabe, ohne diese Angabe ist der 7zip Installationsverzeichnis das Wurzelverzeichnis.
Bei mir entpackt er die Dateien dann einfach in ein neues Verzeichnis mit dem Archivnamen. Unterordner werden nicht erstellt. :/
Naja ... ich versuch morgen nochmal eine Lösung zu finden.
Auf jeden Fall schon einmal Danke für die Hilfestellung. :)
Guten Morgen,
ich habe das Problem jetzt lösen können. Aber es gibt eine Einschränkung:
Absolute Pfadangaben sind nur ohne Laufwerksnamen möglich. D. h. Man kann nur vom Root des jeweiligen Laufwerks aus sichern.
Die Dateinamen müssen dabei in folgender Weise im Textfile stehen:
blahblah.txt
unterverzeichnis1\blubb.txt
unterverzeichnis1\unterverzeichnis2\3dcenter.zip
usw.
Das "X:\" fällt also komplett weg.
Man sollte übrigens auch darauf achten in welchem Format (utf-8, ansi, unicode) man sein Textfile abspeichert. Ansonsten bekommt man Probleme mit den deutschen Umlauten. Je nachdem muss man sich den Parameter -scs einstellen. --> "-scsWIN" für ANSI.
7z a backup @textfile.txt -scsWIN
Entpacken funktioniert ganz normal. Man sollte nur darauf achten, dass die Datei auf dem richtigen Laufwerk liegt:
7z x backup.7z
Die (Unter-)Verzeichnisse werden sofern nicht bereits vorhanden automatisch angelegt.
Wer die Dateien anschließend gleich noch löschen will kann das folgende Skript benutzen:
Option Explicit
Dim FSO
DIm FSO2Kill
Dim DateiInhalt
Dim Zeile
Dim Inhalt
Const Dateiname = "x:\textfile.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSO2Kill = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(DateiName) Then
Set DateiInhalt = FSO.OpenTextFile(Dateiname)
Do Until DateiInhalt.AtEndOfStream
Zeile = DateiInhalt.ReadLine
Inhalt=Inhalt + Zeile +vbCrLf
FSO2Kill.DeleteFile Zeile
Loop
DateiInhalt.Close
Wscript.Echo Inhalt
MsgBox "gelöscht"
Else
Wscript.Echo "Datei" & " Dateiname " & " nicht gefunden "
End If
Zu beachten ist, dass man hier wieder die kompletten Pfadangaben benötigt also incl. Laufwerksbuchstaben benötigt.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.