【Windows批处理】set

用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.

set命令详解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章