2011-06-15 105 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