Как вы запускаете .bat-файл из PHP?

Может ли кто-нибудь сказать мне, как выполнить .bat-файл из PHP-скрипта?

Я пытался:

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

Ничего не работает. Я проверил руководства по PHP и искал в Google, но не нашел хорошего ответа. Кто-нибудь знает, где я ошибаюсь?

Я запускаю Windows 2003 Server и успешно запускаю файл .bat вручную, и он делает то, что мне нужно; Мне просто нужно запустить его программно.

Related of "Как вы запускаете .bat-файл из PHP?"

Возможно, вам придется запустить его через cmd , например:

 system("cmd /c C:[path to file]"); 
 <?php exec('c:\WINDOWS\system32\cmd.exe /c START C:\Program Files\VideoLAN\VLC\vlc.bat'); ?> 

Когда вы используете функцию exec() , вы как бы открываете cmd терминал и набираете команды прямо на него.

Используйте одинарные кавычки, подобные этому $str = exec('start /B Path\to\batch.bat');
В /B означает, что bat будет выполняться в фоновом режиме, после чего остальная часть php будет продолжена после запуска этой строки, в отличие от $str = exec('start /B /C command', $result); где выполняется command а затем result сохраняется для последующего использования.

PS: Он работает как для Windows, так и для Linux.
Подробнее здесь http://www.php.net/manual/en/function.exec.php 🙂

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

на моем компьютере Windows 8, работающем на IIS 8 Я могу запустить командный файл, просто поставив имя летучих мышей и запустив путь к нему. Или, поставив биту в c: \ windows \ system32, не спрашивайте меня, как она работает, но это так. лол

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