Ответ 1
Вам может потребоваться запустить его через cmd
, например:
system("cmd /c C:[path to file]");
Может ли кто-нибудь сказать мне, как выполнить .bat файл с PHP script?
Я пробовал:
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 не спрашивайте меня, как это работает, но это так. LOL
$test = shell_exec ( "C:\windows\system32\cmd.exe/c $streamnumX.bat" );