- 批处理脚本教程
- 批处理脚本 - 主页
- 批处理脚本 - 概述
- 批处理脚本 - 环境
- 批处理脚本 - 命令
- 批处理脚本 - 文件
- 批处理脚本 - 语法
- 批处理脚本 - 变量
- 批处理脚本 - 注释
- 批处理脚本 - 字符串
- 批处理脚本 - 数组
- 批处理脚本 - 决策制定
- 批处理脚本 - 运算符
- 批处理脚本 - 日期和时间
- 批处理脚本 - 输入/输出
- 批处理脚本 - 返回代码
- 批处理脚本 - 函数
- 批处理脚本 - 进程
- 批处理脚本 - 别名
- 批处理脚本 - 设备
- 批处理脚本 - 注册表
- 批处理脚本 - 网络
- 批处理脚本 - 打印
- 批处理脚本 - 调试
- 批处理脚本 - 日志记录
- 批处理脚本资源
- 批处理脚本 - 快速指南
- 批处理脚本 - 有用资源
- 批处理脚本 - 讨论
批处理脚本 - 函数中的局部变量
函数中可使用局部变量来避免名称冲突,并使变量更改保持在该函数的局部范围内。首先使用 SETLOCAL 命令来确保命令处理器备份所有环境变量。可以通过调用 ENDLOCAL 命令来还原变量。在这两者之间所做的任何更改均是当前批处理脚本的局部更改。当批处理文件结束时,会自动调用 ENDLOCAL,即通过调用 GOTO:EOF 来进行调用。
通过 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
batch_script_functions.htm
广告