这听起来很简单,但我一定遗漏了一些东西。我有一个自定义的exe程序,它在C:'dummy'dummytest.exe
中,我在 C:'text'test.txt
中有一个文本文件。我只想通过在PHP中传递test.txt作为参数来启动dummytest.exe。以下是我尝试过的:
$arg = "C:'text'test.txt"
exec("C:'dummy'dummytest.exe".$arg);
我也试过只用单曲"''"。我试过了exec("C:'dummy'dummytest.exe $arg");
,但似乎什么都不起作用。我得到 C:'dummy is not recognized as an internal or external command, operable or batch file error.
当我手动转到命令行并执行C:'dummy'dummytest.exe test.txt
应用程序运行良好。我和执行官在这里缺少什么?
请改用"shell_exec"命令。
shell_exec("[BAT or EXE-File] [Params]");
希望这能有所帮助!
编辑
当使用带有路径的可执行文件和参数时,必须对它们进行引号引用。因此,一个例子如下:
echo nl2br(shell_exec("'"F:''N3V Games''Trainz Simulator 12''compile_gs.bat'" '"F:''xampp''htdocs''SHELL''EBuLa.gs'""));
此示例将CMD窗口的输出直接打印到页面上。
如果可执行文件像php文件一样放在同一目录中,您可以运行:
echo nl2br(shell_exec("compile_gs.bat EBuLa.gs"));