2011-06-15 90 views
9

我需要弄清楚这个看似很简单问题上.bat文件窗口后。我在过去的10年中一直在使用Linux,所以当涉及到.bat脚本时,我处于一个非常陌生的领域。有.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,一如既往,任何帮助,不胜感激。

+1

您正在寻找在错误的方向:如果PHPUnit的崩溃批次将继续 – CharlesB 2011-06-15 07:14:16

+1

做phploc,如果你注释掉PHPUnit的通话phing执行? – CharlesB 2011-06-15 07:15:33

+2

这是更多的[苏]的事情... – fretje 2011-06-15 07:25:30

回答

8

到后ujifgc类似,我用在这些情况下的“开始/ B ...”。如果将调用封装到另一个批处理文件中,可以使用“call”。

+0

这并不等待命令在传递到下一行之前完成 – 2018-03-05 14:36:48

4

是PHPUnit的自身的批处理文件(我没有做很多PHP的,所以我不熟悉的工具)?如果是这样,请尝试使用:

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

尝试start /WAIT phpunit ...到餐桌的过程,并等待它,还是start phpunit ...叉和继续。在此获得帮助:start /?

+0

是啊!谢谢。明天队友会考虑这件事情。 – stefgosselin 2011-06-15 07:41:48

5

我对我制作的开发脚本有同样的问题。我尝试了所有的解决方案,但都没有成功。最后,我用cmd/C

从Windows文件将:

运行命令,然后终止

因此,例如,你可以按如下方式使用它:

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 

我希望你能找到这很有用。

+0

以我的经验来说,这是正确的方式:在传递到下一行之前等待命令完成 – 2018-03-05 14:37:35

相关问题