用set命令设置自定义变量
1、赋值变量
@echo off
set var=hello
echo %var%
2、输入变量
@echo off
set /p var=请输入变量的值
echo %var%
用set命令进行简单计算
语法:SET /A expression
/A 命令行开关指定等号右边的字符串为被评估的数字表达式
@echo off
set /p input=请输入算数表达式
set /a var=%input%
echo 计算结果:%input%=%var%
pause
注意:DOS计算的有效值范围是-2147483648 至 2147483647,超出该数值范围时计算出错
逻辑运算
对于这样的"逻辑运算符",我们需要把他们用 双引号 引起来,也可以用转义字符 ^
set /a var= 1 "&" 1 与运算,运行结果:1
@echo off
set /a a=1+1,b=2+1,c=3+1
echo %a% %b% %c%
求2的n次方
@echo off
set /p n=请输入2的几次方:
set /a num=1^<^<n
echo %num%
pause
进行字符串处理
字符串替换
%PATH:str1=str2%
这个操作就是把变量%PATH%的里的 str1 全部用 str2 替换
@echo off
set a= www. baidu. com
echo 替换前的值: "%a%"
set var=%a: =%
echo 替换后的值: "%var%"
pause
运行结果发现把空格全部替换了
字符串截取
%a:~1,3%
表示变量 a 从第2个字符开始(0为第一个字符下标),截取3个字符
@echo off
set a=www.baidu.com
set var=%a:~1,3%
echo %var%
pause
运行结果:ww.
也可以这样写:%a:~-3%
表示变量a倒数3位的值给变量VAR
@echo off
set a=www.baidu.com
set var=%a:~-3%
echo %var%
pause
运行结果:com
%a:~3%
表示第3位开始后面全部的值给变量VAR
@echo off
set a=www.baidu.com
set var=%a:~3%
echo %var%
pause
运行结果:.baidu.com
%a:~2,-3%
表示从第3位(偏移量2)开始 减去倒数三位字符的值,并赋予给变量var
@echo off
set a=www.baidu.com
set var=%a:~2,-3%
echo %var%
pause
运行结果:w.baidu.