Может ли кто-нибудь сказать мне, как выполнить .bat-файл из PHP-скрипта?
Я пытался:
exec("C:\[path to file]"); system("C:\[path to file]");
Ничего не работает. Я проверил руководства по PHP и искал в Google, но не нашел хорошего ответа. Кто-нибудь знает, где я ошибаюсь?
Я запускаю Windows 2003 Server и успешно запускаю файл .bat вручную, и он делает то, что мне нужно; Мне просто нужно запустить его программно.
Возможно, вам придется запустить его через 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");