在批处理文件中运行带有参数的 exe 文件
Posted
技术标签:
【中文标题】在批处理文件中运行带有参数的 exe 文件【英文标题】:Run exe file with parameters in a batch file 【发布时间】:2014-05-31 11:58:51 【问题描述】:请看一下我的批处理文件。
echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"
但它不起作用。任何想法如何让它工作?
【问题讨论】:
【参考方案1】:这应该可行:
start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2
start
命令将第一个参数解释为窗口标题,如果它包含空格。在这种情况下,这意味着start
将您的整个参数视为标题并且看不到任何命令。将 ""
(空标题)作为第一个参数传递给 start
可以解决问题。
【讨论】:
好的,很好。我刚试过,它似乎工作。有什么方法可以捕获输出或错误?谢谢 它似乎只是快速闪烁命令面板......我可以保持打开状态以便我可以看到输出吗? 暂停不会让窗口保持打开状态,它只是告诉我在该窗口关闭后按任意键继续。 是的,我忘了你用start
打开第二个窗口。
你真的需要start
吗?【参考方案2】:
如果您需要查看执行的输出,请将CALL
与START
一起使用或代替START
。
例子:
CALL "C:\Program Files\Certain Directory\file.exe" -param
PAUSE
这将运行 file.exe 并在同一命令窗口中打印输出的任何内容。请记住通话后的PAUSE
,否则窗口可能会立即关闭。
【讨论】:
【参考方案3】:除非这只是问题的简化示例,否则我的建议是删除批处理包装器并直接安排 PHP,更具体地说是 php-win.exe
程序,它不会打开不必要的窗口。
Program: c:\program files\php\php-win.exe
Arguments: D:\mydocs\mp\index.php param1 param2
否则,只需引用 Andrew 指出的内容即可。
在旧版本的 Windows 中,您应该能够将所有内容放在单个“运行”文本框中(只要引用所有有空格的内容):
"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2
【讨论】:
实际上我试图创建一个计划任务,但我在上次运行列中不断收到错误 0x1 但如果我在 Cmd 提示符下手动运行与上述相同的命令,它就会运行!这就是为什么我认为它可能会在批处理文件中工作?? 另外,上面是我的批处理文件中的确切代码行(仅添加了 dummy param1 param2) 这不是脚本。这些是您必须在任务计划程序界面中填写的字段。以上是关于在批处理文件中运行带有参数的 exe 文件的主要内容,如果未能解决你的问题,请参考以下文章
怎么用批处理,调用exe程序执行批量文件然后在保存呀????