六维教程

Bat脚本 变量

变量的定义与使用

使用 set 命令定义变量,使用 %变量名% 引用变量。

@echo off
:: 定义变量(等号两侧不要加空格)
set name=张三
set age=25

:: 引用变量(用 % 包围)
echo 姓名:%name%,年龄:%age%

注意set 命令中,等号两侧不要加空格,否则空格会被计入变量值中。

变量类型

BAT 脚本中所有变量本质上都是字符串,但可以进行数值比较和算术运算。

@echo off
set num1=10
set num2=20

:: 算术运算(使用 set /a)
set /a sum=%num1% + %num2%
echo 和:%sum%

用户输入变量

使用 set /p 可以提示用户输入并赋值给变量。

@echo off
set /p name=请输入你的名字:
set /p age=请输入你的年龄:

echo 你好,%name%!你今年 %age% 岁。

变量延迟扩展

iffor 的括号代码块中修改变量时,需要使用 延迟扩展,否则变量值不会实时更新。

@echo off
:: 启用延迟扩展
setlocal enabledelayedexpansion

set count=0

for %%i in (1 2 3) do (
    set /a count=!count! + 1
    echo!count! 次循环
)

:: 如果不启用延迟扩展,%count% 在循环内始终为初始值 0
引用方式 说明 适用场景
%var% 普通扩展(解析时一次性替换) 普通变量引用
!var! 延迟扩展(执行时实时替换) 循环/条件块内的变量
上一篇
Bat脚本 常用命令
下一篇
Bat脚本 流程控制