Einzelnen Beitrag anzeigen

Wuchst

Registriert seit: 14. Feb 2005
3 Beiträge
 
#1

Ausgabe einer Befehlszeile in eine Datei umleiten

  Alt 14. Feb 2005, 21:49
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!
  Mit Zitat antworten Zitat