Guten Abend!
Ich möchte aus meinem Delphi-Programm einige Dateien in ein Winrar-Archiv packen. Die Winrar-Befehlszeile rufe ich mit ShellExecuteEx auf. Die Ausgabe von Winrar möchte ich in eine Log-Datei umleiten. Meine Befehlszeile
rar.exe a archiv.rar *.* > log.txt
funktioniert manuell. Beim Aufruf
Delphi-Quellcode:
FillChar(SEInfo, SizeOf(SEInfo), 0);
SEInfo.cbSize := SizeOf(TShellExecuteInfo);
with SEInfo do begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar('rar.exe');
lpParameters := PChar('a archiv.rar *.* > log.txt');
nShow := 1;
end;
ShellExecuteEx(@SEInfo);
wird zwar das Archiv erzeugt, die Log-Datei wird aber nicht geschrieben. Wo ist da das Problem?
Ich würde aus der Log-Datei hintenrum die Prozentzahl der Fortschrittsanzeige auslesen wollen, da das Packen über zehn Minuten dauert. Aber vielleicht kennt ja jemand eine bessere Methode, ein rar-Pack-Programm mit Fortschrittsanzeige zu schreiben.
Vielen Dank schonmal!