Einzelnen Beitrag anzeigen

nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#15

AW: Mit Rar packen per Datei-Liste

  Alt 27. Apr 2012, 10:25
Hallo Delphianer,

nun hat alles geklappt:

- erstelle Datei-Liste mit den zu packenden Dateien (backup.lst) im Programmverzeichnis der .exe
- packen von einzelnen Dateien, sowie ganzen Ordnern samt Unterverzeichnissen
- funktioniert auch mit Leerzeichen usw. in Dateinamen
- werte den ReturnCode nach dem Packen aus 0 = erfolgreich > 0 nicht erfolgreich, mit Ausgabe des Fehlers
- warten bis Packvorgang abgeschlossen ist.
- Packen mit Splitting des Archives in 100 Mb, 500 Mb oder 1 GB

Nun zum eigentlichen Fehler :

in der DOKU zu RAR stand die Dateiliste soll eine einfache Textdatei sein, wo nur die Dateinamen bzw. Ordnernamen drin stehen.
Dies war leider nicht ganz richtig !!!

Die Liste (backup.lst) muss zu den Dateinamen(Ordnernamen) auch den vollständigen Pfad zu den Dateien(Ordnern) beinhalten.

z.B. falsch

Datei1.txt
Datei2.txt
Ordner1
Ordner2

richtig wäre :

LW:\Pfad\Datei1.txt
LW:\Pfad\Datei2.txt
LW:\Pfad\Ordner1
LW:\Pfad\Ordner2

hier nochmal ein Beispiel um Dateien zu packen:

Code:
paramPack := Format('a -ep1 -ms*.zip;*.rar;*.jpg "%s" "%s"',[RarFilename, '@'+DateiList]);
Erklärung der Parameter :
a : Dateien zum Archiv hinzufügen (Befehl)
-ep1 : Ausgangsverzeichnis aus den Dateinamen entfernen (Schalter)
-ms : *.zip;*.rar;*.jpg usw. Liste der Dateitypen die vom Packen ausgeschlossen werden (Schalter)
"%s" : Platzhalter für den Namen des Archives und der zweite ist der Platzhalter für den Namen der Dateiliste
@ : hiermit wird Rar.exe angewiesen in dieser Liste nach den Dateinamen zu suchen, welche gepackt werden sollen

zweites Beispiel : Packen mit Splitting

Code:
paramPack := Format('a -v100000k -ep1 -ms*.zip;*.rar;*.jpg "%s" "%s"',[RarFilename, '@'+DateiList]);
zusätzlicher Schalter

-v100000k : Teilarchive erstellen mit einer Größe vom 10000 Kilobytes (100 MB)

Ich hoffe, daß dies einigermaßen verständlich erklärt ist, wenn nicht bitte melden

Danke an alle , für Eure Hinweise und Tips

Gruß nachtstreuner
Alles wird gut -
  Mit Zitat antworten Zitat