Bitte schauen Sie sich meine Batch-Datei an.
echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"
aber es funktioniert nicht. Irgendwelche Ideen, wie ich es zum Laufen bekomme?
Das sollte funktionieren:
start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2
Der Befehl start
interpretiert das erste Argument als Fenstertitel, wenn er Leerzeichen enthält. In diesem Fall bedeutet start
, dass Ihr gesamtes Argument als Titel betrachtet wird und kein Befehl angezeigt wird. Wenn Sie ""
(einen leeren Titel) als erstes Argument an start
übergeben, wird das Problem behoben.
Wenn Sie die Ausgabe der Ausführung sehen möchten, verwenden Sie CALL
zusammen mit oder anstelle von START
.
Beispiel:
CALL "C:\Program Files\Certain Directory\file.exe" -param
PAUSE
Dadurch wird die Datei file.exe ausgeführt und im selben Befehlsfenster ausgegeben, was auch immer sie ausgibt. Denken Sie an die Variable PAUSE
nach dem Anruf, andernfalls kann das Fenster sofort geschlossen werden.
Wenn es sich nicht nur um ein vereinfachtes Beispiel für die Frage handelt, empfehle ich, den Batch-Wrapper abzulegen und PHP direkt zu planen, insbesondere das Programm php-win.exe
, das keine unnötigen Fenster öffnet.
Program: c:\program files\php\php-win.exe
Arguments: D:\mydocs\mp\index.php param1 param2
Ansonsten, zitiere einfach Sachen, wie Andrew darauf hinweist.
In älteren Windows-Versionen sollten Sie alles in das einzige Textfeld "Ausführen" einfügen können (sofern Sie alles angeben, was Leerzeichen enthält):
"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2