运行命令时如何防止批处理文件(.bat)关闭终端?

运行命令时如何防止批处理文件(.bat)关闭终端?

问题描述:

在Windows 7的机器,如果我在终端手动运行这样的PHPUnit的硒命令:运行命令时如何防止批处理文件(.bat)关闭终端?

phpunit --verbose --log-junit _selenium_tests\results\home.xml _selenium_tests\frontend\home.php 

派生一个浏览器,并运行测试就好了。然后它在屏幕上输出以下内容:

Time: 10 seconds, Memory: 3.50Mb 
OK (1 test, 3 assertions) 

终端保持打开状态。

现在,如果我将一个空文件中的确切命令复制并粘贴并保存为test.bat并单击它,它也会运行测试。我可以看到浏览器打开并运行所有测试。唯一的问题是它在关闭终端提示符后。所以我看不到上面的输出。

一个更大的问题是,因为它关闭了终端,如果我在其他测试之后添加更多的命令,那么它们不会运行。

我尝试添加:

pause 

在bat文件,但没有运气的结束,它仍然关闭。任何想法如何防止这种情况,并能够运行一个接一个的命令而没有终端关闭?

你的问题是类似this one。尝试在命令前使用call。如果从另一个.bat文件运行.bat文件并且不使用call,则控制不会返回到第一个批处理文件,因此pause不会被执行。

+0

哥们你真棒,只需在所有命令完成之前打电话。现在他们都一个接一个地跑,终端从不关闭。谢谢! – TK123 2012-07-23 15:31:34

+0

很高兴能有所帮助。 – alexg 2012-07-24 08:56:53

  • 尝试cmd /K phpunit --verbose --log-junit _selenium_tests\results\home.xml _selenium_tests\frontend\home.php

    cmd /K string/K选项执行字符串指定的命令,但仍然
    看到http://www.computerhope.com/cmd.htm

  • 另外,我不知道的文件类型phpunit命令你执行 - 我不熟悉硒。如果它是批处理文件(即以.bat结尾),则只能从另一个批处理文件中调用它们:调用第二个批处理文件之下的所有内容都不会执行。您需要使用CALL命令。 CALL使用户能够从另一个批处理文件内执行批处理文件,
    看到http://www.computerhope.com/call.htm