2012-11-20 178 views
0

所以我有這個命令創建一個文件,想自動打開該文件的命令完成後...我已經試過這樣:.bat文件打開文件運行

start /b /wait rspec spec --drb --format html --out doc/rspec_out.html 
echo DONE 
start doc/rspec_out.html 

但一旦第一個命令完成,第二個命令似乎不會運行(我沒有看到DONE)。

我在做什麼錯?

感謝,

+1

批處理文件看起來不錯,你可以在命令提示符運行,看看是否命令完成? –

+1

rspec是批處理文件嗎? –

+0

我不認爲這是一個批處理文件,但它運行,然後完成...當我運行它在cmd發生同樣的問題。 – K2xL

回答

1

如果rspec是一個批處理文件,以下任一應該有所幫助:

  • rspec腳本結束(退出點)將EXIT命令。
  • 運行的第一個命令是這樣的:
  • start /b /wait cmd.exe /c "rspec spec --drb --format html --out doc/rspec_out.html" 
    
    +0

    工作!只是好奇,爲什麼我沒有工作? – K2xL

    +0

    我想這是因爲'rspec' *畢竟是一個批處理文件。我也猜測你嘗試從命令提示符執行*你的*腳本。這是可能發生的事情。 'start'調用'cmd'的新實例來執行'rspec'。如果您沒有使用'/ b'選項,您會看到新的'cmd'會話在單獨的窗口中打開,但'/ b'使它在與原始'cmd'會話相同的窗口中打開。當rspec完成工作時,新的會話不會自動關閉(因爲'rspec'沒有以'exit'結尾)。 ... –

    +0

    您可以從命令提示符處手動發出'exit',這將關閉新會話並將您帶回到調用* your *腳本的會話中,您將看到腳本繼續執行。 –