2011-01-28 62 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打印两次。这种在命令脚本中调用函数的功能实际上非常方便。