2011-01-28 26 views

回答

15

當您需要調用另一個批處理程序(cmd腳本)時,您應該使用call。如果prog1是可執行文件,則使用「呼叫」將不起作用。 (prog1.exe

如果,例如,有兩個腳本:

cmd1.cmd 
cmd2.cmd 
cmd1.cmd

和你有一句臺詞:

cmd2.cmd 

...那麼你的腳本將盡快停止cmd2.cmd完成執行。相反,你應該使用:

call cmd2.cmd 
+0

啊哈 - 所以外部可執行文件和外部cmd腳本之間的區別是關鍵。感謝啓發。 – Martin 2011-01-28 07:50:19

3

通常調用用於在批處理文件中運行另一個批處理文件。當被調用的批處理文件完成時,原始批處理文件的其餘部分完成。

注意如果批處理文件不存在,它會給出錯誤消息。

語法是:CALL [drive:][path]filename [batch-parameters]

有在調用它沒有限制。您可以在任何批處理文件中使用CALL命令來調用另一個批處理文件。

希望這會有所幫助。

20

你應該使用call當你要麼需要:

  • 調用另一個命令文件當它完成回到這一個。;或
  • 在當前命令文件中調用一個函數。

與行的命令文件:

number2.cmd 

number2.cmd文件,這意味着它會運行一個腳本,但不會返回繼續對當前一個執行。

至於第二點,你可以做這樣的事情:

call :subroutine 
call :subroutine 
goto :eof 

:subroutine 
    echo in here 
    goto :eof 

,您將得到in here打印兩次。這種在命令腳本中調用函數的功能實際上非常方便。

相關問題