功能
你可以通过将 <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
)