Autor Beitrag
Airtrox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: So 20.09.09 11:53 
Hey,

ich hoffe ich bin hier im richtigen Unterforum.
Also ich habe ein Problem: Ich will Dateien per WinRar mit Passwort packen lassen. Habe dazu schon einiges rausgefunden, auch die WinRar readme gelesen und möchte es nun erst einmal per cmd machen und dann später in mein Delphi Programm einbauen.

So sollte es aufgebaut sein
ausblenden Quelltext
1:
c:/programme/winrar/winrar.exe -hp[p] -rar a -(PASSWORT) (ARCHIVNAME) (DATEINAME.ENDUNG)					


und so habe ich es getestet:
ausblenden Quelltext
1:
c:/programme/winrar/winrar.exe -hp[p] -rar a -meinpw datei WhatsNew.txt					

Die Datei WhatsNew.txt befindet sich im selben Verzeichnis, deshalb habe ich zum Test diese genommen.
Das klappt auch ersteinmal (das Veracken mit Passwort), jedoch wenn ich dann die verpackte Datei (datei.rar) mit dem Passwort "meinpw" öffnen will, sagt er mir das Passwort wäre falsch.

Kann mir einer helfen oder sagen wo mein Fehler liegt? :)

lg
Sauger Chris
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 228

Win XP, Linux SuSE 9.2
Delphi 4,Delphi 7 Ent.
BeitragVerfasst: So 20.09.09 11:55 
porbier mal als pw -meinpw aus :)


ich glaub dein command ist falsch probiers mal so


ausblenden Delphi-Quelltext
1:
winrar.exe -hp -rar a -p meinpw test.txt 123456.rar					
Airtrox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: So 20.09.09 12:14 
Mein Fehler lag wo anders :oops:
ausblenden Quelltext
1:
2:
cd c:/programme/winrar/
rar a -hp[Passwort] [Archivname] [Dateiname.endung]


Aber gleich mal die nächste Frage: Ich will jetzt in irgendeinem Verzeichnis eine Datei (z.B. auf dem Desktop) packen. Wenn ich dann "C:\Dokumente und Einstellungen\..." eingebe, dann meint es dass es den Pfad nicht findet, wahrscheinlich wegen den Leerzeichen. Wie kann ich das denn umgehen?
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 20.09.09 12:16 
Du musst den Pfad in Anführungszeichen setzen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Airtrox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: So 20.09.09 12:35 
Wenn ich das mache (bei der Zieldati, die verpackt werden soll) also "C:\Dokumente und Einstellungen\USER\Desktop\datei.txt" werden die ganzen Ordner mitgepackt, dabei soll nur die Datei gepackt werden. Ich kann natürlich vorher in das Verzeichniss wechseln, aber dann bräuchte ich 2 Zeilen, was ich eigentlich nicht will.
Mein Code bisher:
ausblenden Quelltext
1:
c:\Programme\WinRar\rar a -hp123 "C:\Dokumente und Einstellungen\USER\Desktop\verpackt.rar" "C:\Dokumente und Einstellungen\USER\Desktop\datei.txt"					


edit: Kann man das Dokumente und Einstellungen nicht irgendwie abkürzen, z.B. mit ~ ?
Sauger Chris
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 228

Win XP, Linux SuSE 9.2
Delphi 4,Delphi 7 Ent.
BeitragVerfasst: So 20.09.09 12:41 
so geht es


habs rausgefunden das hier musste in deiner line adden

Zitat:

-ep1

c:\Programme\WinRar\rar a -hp123 -ep1 "C:\Dokumente und Einstellungen\USER\Desktop\verpackt.rar" "C:\Dokumente und Einstellungen\USER\Desktop\datei.txt"
Airtrox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: So 20.09.09 13:10 
perfekt, danke :)
Jetzt muss ich nur noch nach einer Möglichkeit suchen, die Befehle per Delphi (verändert) an die CMD weiterzugeben^^
Sauger Chris
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 228

Win XP, Linux SuSE 9.2
Delphi 4,Delphi 7 Ent.
BeitragVerfasst: So 20.09.09 13:39 
dein zauberwort wird ShellExecute sein ;)


ausblenden Delphi-Quelltext
1:
ShellExecute(Handle, 'open', 'c:\rar.exe a -hp123 -ep1 verpackt.rar datei.txt', nil, nil, SW_Hide);					


das mit der commandline verändert an ShellExecute reichen wirste denk ich selber hinbekommen ;)
Airtrox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109


Delphi 7
BeitragVerfasst: Mo 21.09.09 15:50 
Ich habe noch eine Frage:
Kann man zwischen den Packvorgängen solange eine Pause machen, bis die Datei "Rar.exe" nicht mehr geöffnet ist? Also soll einmal der Button gedrückt werden, der erste Befehl ausgeführt werden, gewartet werden bis der Prozess geschlossen ist und der veränderte Befehl wieder ausgeführt werden soll. Hier mein Code, mit dem ich den Befehl ausführen lasse:
ausblenden Delphi-Quelltext
1:
windows.WinExec(pchar(befehl),0);					


Vllt habt ihr noch einmal eine Lösung für mich :)
lg

edit: Oder noch besser, dass man selbst eingeben kann, wie oft der Prozess max. ausgeführt werden darf?