功能
你可以通過將 <parameter>
新增到其標籤中來向函式新增起始變數。這些起始變數可以通過%n
訪問,其中 n 是起始變數的數字(第一個是%1
,第二個是%2
。這個%n
方法適用於%1 - %9。對於引數 10 - 255,你需要使用 Shift 命令)。
例如:
:function <var1> <var2>
一旦你使用 call :function param1 param2
,可以使用%1
訪問 param1
,使用%2
訪問 param2
。
注意:<parameter>
並非絕對必要,但它有助於提高可讀性。
當許多變數飛來飛去時,一個有用的技巧是將 setlocal
和 endlocal
與%n
配合使用。setlocal
和 endlocal
本質上使函式成為命令提示符的獨立例項,設定在其中的變數只會在框架中時保持不變。
如果你正在使用 setlocal
和 endlocal
,並且你正在返回全域性值,請使用此選項。
endlocal & set var=variable
這將全域性價值 var
設定為 variable
。你可以將這些變數連結在一起。
endlocal & set var=variable & set var2=variable number 2
這將全域性變數 var
設定為 variable
,將全域性值 var2
設定為 variable number 2
。
由於程式碼塊中的程式碼也同時執行,因此你也可以執行此操作。
if "%var%"=="" (
endlocal
set %~2=10
)
但是,你不能這樣做。
if "%var%"=="" (
set %~2=10
endlocal
)