2 Stimmen

Wie kann ich eine Batch-Datei mit zwei Parametern ausführen?

Ich habe eine Stapeldatei und eine Anwendung, die in Delphi 7 entwickelt wurde. Ich möchte die Stapeldatei mit zwei Parametern ausführen, wenn ich auf eine Schaltfläche klicke. Wie kann ich das tun?

3voto

David Heffernan Punkte 585606

Sie können dies sicherlich mit CreateProcess() tun, wie von @Remy beschrieben. Allerdings ist CreateProcess() nicht die einfachste Funktion zu bedienen. Für Bequemlichkeit finden Sie möglicherweise ShellExecute() als eine angenehmere Option:

uses
  ShellAPI;
....
ShellExecute(0, 'open', PChar(BatchFileName), 'param1 param2', 
  nil, SW_SHOWDEFAULT);

Letztendlich führt dies dazu, dass die Variable COMSPEC gelesen wird und dann ein Aufruf von CreateProcess() erfolgt. Der Vorteil ist, dass Sie die Shell die harte Arbeit für Sie erledigen lassen.

1voto

Remy Lebeau Punkte 498719

Verwenden Sie CreateProcess(), um "cmd.exe /C batchfilename Parameter" auszuführen, wobei der Pfad zu cmd.exe aus der Umgebungsvariable %COMSPEC% abgerufen wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X