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

ste*_*lin 14 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
Run Code Online (Sandbox Code Playgroud)

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

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

Jah*_*mic 13

与post ujifgc类似,我在这些情况下使用"start/b ......".如果在另一个批处理文件中封装对phpunit的调用,则可以使用"call".


小智 13

对于我制作的开发脚本,我遇到了同样的问题.我没有成功就尝试了所有给定的解决方案.最后,我用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
Run Code Online (Sandbox Code Playgroud)

希望这个对你有帮助.


dev*_*ity 6

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

call phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit
Run Code Online (Sandbox Code Playgroud)