在批处理文件中运行带有参数的exe文件

时间:2014-04-16 14:28:17

标签: php windows batch-file scheduled-tasks

请查看我的批处理文件。

echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"

但它不起作用。任何想法我如何让它工作?

3 个答案:

答案 0 :(得分:35)

这应该有效:

start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2

start命令将第一个参数解释为窗口标题(如果它包含空格)。在这种情况下,这意味着start将您的整个参数视为标题并且不会看到命令。将""(空标题)作为start的第一个参数传递可以解决问题。

答案 1 :(得分:9)

如果您需要查看执行的输出,请与CALL一起使用START或代替CALL "C:\Program Files\Certain Directory\file.exe" -param PAUSE

示例:

PAUSE

这将运行file.exe并在同一命令窗口中打印回输出的内容。请记住通话后的{{1}},否则窗口可能会立即关闭。

答案 2 :(得分:0)

除非它只是问题的简化示例,否则我的建议是删除批处理包装并直接安排PHP,更具体地说是php-win.exe程序,它不会打开不必要的窗口。

Program: c:\program files\php\php-win.exe
Arguments: D:\mydocs\mp\index.php param1 param2

否则,只需引用安德鲁指出的东西。


在旧版本的Windows中,您应该能够将所有内容放在单个“运行”文本框中(只要您引用包含空格的所有内容):

"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2