2013年10月21日 星期一

[Batch] call的用法,call與goto的差別

call可用在執行其他batch檔
也可以執行寫好的function(在batch稱為label)

Ex1:
ECHO CALL example1
CALL test1.bat

Ex2:
ECHO CALL example2
CALL :test2

:test2
ECHO This is test2


goto也可以執行寫好的function
但call與goto兩者最大差別為
call跳到label後,執行完label中的程式碼,會跳回call之後的程式碼
但goto跳到label後,並不會跳回來

此外
call後面可接傳入function的參數

Ex3:
ECHO CALL example3
CALL :test3 100

:test3
ECHO This is test3
ECHO %1%



refs: http://ccd9527.blogspot.tw/2010/11/bat-call-06.html

1 則留言:

  1. :test2
    ECHO This is test2

    这后面要加个 exit /b

    :test2
    ECHO This is test2
    exit /B

    否则会一直执行到文件末尾才回来。

    http://ss64.com/nt/call.html

    回覆刪除