48 Stimmen

Wie führt man eine .bat-Datei in PHP aus?

Kann mir jemand sagen, wie ich eine .bat-Datei aus einem PHP-Skript heraus ausführen kann?

Ich habe es versucht:

exec("C:\[path to file]");
system("C:\[path to file]");

Nichts funktioniert. Ich habe in den PHP-Handbüchern nachgesehen und gegoogelt, aber ich kann keine gute Antwort finden. Weiß jemand, was ich falsch mache?

Ich verwende Windows 2003 Server und habe die .bat-Datei erfolgreich manuell ausgeführt, und sie tut, was ich brauche; ich muss nur in der Lage sein, sie programmatisch zu starten.

58voto

RichieHindle Punkte 256891

Möglicherweise müssen Sie es über cmd , z.B.:

system("cmd /c C:[path to file]");

13voto

mysoogal Punkte 131
<?php
exec('c:\WINDOWS\system32\cmd.exe /c START C:\Program Files\VideoLAN\VLC\vlc.bat');
?>

10voto

Migisha Punkte 415

Wenn Sie die exec() Funktion ist es so, als hätten Sie eine cmd Terminal geöffnet und geben Befehle direkt ein.

Verwenden Sie einfache Anführungszeichen wie folgt $str = exec('start /B Path\to\batch.bat');
En /B bedeutet, dass die Fledermaus im Hintergrund ausgeführt wird, so dass der Rest des Programms php wird nach der Ausführung dieser Zeile fortgesetzt, im Gegensatz zu $str = exec('start /B /C command', $result); donde command ausgeführt wird und dann result wird zur späteren Verwendung gespeichert.

PS: Es funktioniert sowohl unter Windows als auch unter Linux.
Weitere Einzelheiten finden Sie hier http://www.php.net/manual/en/function.exec.php :)

7voto

testaa Punkte 71
<?php
 pclose(popen("start /B test.bat", "r")); die();
?>

2voto

calmchess Punkte 118

Auf meinem Windows-Rechner 8 mit IIS 8 kann ich die Batch-Datei ausführen, indem ich einfach den Bats-Namen eingebe und den Pfad dazu vergesse. Oder indem ich die Batch-Datei in c: \windows\system32 Fragen Sie mich nicht, wie es funktioniert, aber es funktioniert. LOL

$test=shell_exec(" C:\windows\system32\cmd.exe /c $streamnumX.bat");

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