How do you run a .bat file from PHP?
Can anyone tell me how to execute a .bat file from a PHP script?
I have tried:
exec("C:\[path to file]");
system("C:\[path to file]");
Nothing is working. I've checked the PHP manuals and googled around but can't find a good answer. Anyone know where I'm going wrong?
I'm running Windows 2003 Server and have successfully manually run the .bat file and it does what I need it to; I just need to be able to launch it programatically.
Solution 1:
You might need to run it via cmd
, eg:
system("cmd /c C:[path to file]");
Solution 2:
<?php
exec('c:\WINDOWS\system32\cmd.exe /c START C:\Program Files\VideoLAN\VLC\vlc.bat');
?>
Solution 3:
When you use the exec()
function, it is as though you have a cmd
terminal open and are typing commands straight to it.
Use single quotes like this $str = exec('start /B Path\to\batch.bat');
The /B
means the bat will be executed in the background so the rest of the php will continue after running that line, as opposed to $str = exec('start /B /C command', $result);
where command
is executed and then result
is stored for later use.
PS: It works for both Windows and Linux.
More details are here http://www.php.net/manual/en/function.exec.php :)