运行命令后继续运行.bat文件

时间:2011-06-15 07:08:46

标签: batch-file

我需要在windows .bat文件中找出这个看似非常简单的问题。我过去10年一直在使用Linux全职,所以当谈到.bat脚本时,我处于相当陌生的境界。

我们有一些需要从这个.bat文件运行的单元测试,并且需要在测试运行后生成构建。

bat文件本身非常简单,我只想链接命令:

cls
echo "Running test suite - CRMSync"
echo 
echo 
REM from command: --static-backup
phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit              
echo "Running  phploc for CRMSync"
phploc --count-tests --verbose > C:\CRMsync\testResults\phploc\index.html
echo "Executing phing"
phing

现在,除了没有通过phpunit命令执行任何操作之外,很简单。我该如何处理? 单元测试运行正常,但我怀疑它甚至可能在单元测试库中该进程被杀死。有没有办法以某种方式分叉过程或让下面的其他命令运行?

非常感谢SO'ers,非常感谢任何帮助。

5 个答案:

答案 0 :(得分:11)

与ujifgc相似,我在这些情况下使用“start / b ......”。如果将调用封装到另一个批处理文件中的phpunit,则可以使用“call”。

答案 1 :(得分:9)

我遇到了与我制作的开发脚本相同的问题。我没有成功就尝试了所有给定的解决方案。最后,我用 cmd / C 做了。

从Windows文档中它将:

  

运行Command然后终止

例如,您可以按如下方式使用它:

cls
echo "Running test suite - CRMSync"
echo 
echo 
REM from command: --static-backup
cmd /C phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit              
echo "Running  phploc for CRMSync"
cmd /C phploc --count-tests --verbose > C:\CRMsync\testResults\phploc\index.html
echo "Executing phing"
cmd /C phing

我希望你觉得这很有用。

答案 2 :(得分:4)

phpunit本身是一个批处理文件(我不做太多PHP,所以我不熟悉该工具)?如果是这样,请尝试使用:

call phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit

答案 3 :(得分:2)

尝试start /WAIT phpunit ...来分叉进程并等待它,或者只是start phpunit ...来分叉并继续。帮助在这里:start /?

答案 4 :(得分:2)

我用过

  

开始/ b代码。

     

cmd / k ng --build-optimizer --aot

启动Visual Studio Code,然后启动节点js服务器。

但是命令行中出现了%更新文本和其他内容。

然后我用

  

cmd / C代码。

     

cmd / k ng --build-optimizer --aot

,服务器进程更新停止了故障。