函数中的局部变量可用于避免名称冲突,并将变量更改保持在函数本地,首先使用SETLOCAL命令来确保命令处理器备份所有环境变量,可以通过调用ENDLOCAL命令来恢复变量,当到达批处理文件的末尾时,即通过调用GOTO:EOF,将自动调用ENDLOCAL。
使用SETLOCAL对变量进行本地化允许在函数内自由使用变量名,而不必担心与函数外使用的变量名冲突。
以下示例显示了如何在函数中使用局部变量。
@echo off set str=Outer echo %str% CALL :SetValue str echo %str% EXIT /B %ERRORLEVEL% :SetValue SETLOCAL set str=Inner set "%~1=%str%" ENDLOCAL EXIT /B 0
在上面的程序中,变量" str"位于函数SetValue中。因此,即使将str值返回给主函数,也不会将主函数中的str值替换为从函数返回的值。
上面的命令产生以下输出。
Outer Outer
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)