admin管理员组文章数量:1631138
文章目录
- set 指令基本格式
- 指令参数
- 1. 参数 /p(P) 输入提示
- 2. 参数 /a(A)进行数学运算
- 高级用法
- 显示系统环境变量
- 数字运算取余时,需要两个%%
- 逻辑运算的特殊字符需要使用双引号
- set替换作用
- set取舍作用
set 指令基本格式
基本格式:SET [variable=[string]]
注意事项:
- 等号左边一定不能有空格,右边有空格会将空格也赋值给变量
- 变量值包含特殊字符需用双引号,如 &、空格等
- 避免使用系统环境变量同名的自定义变量,如path , date , errorlevel 等
- 设值,不需要用引号;显示值,变量用 %变量名%
指令参数
1. 参数 /p(P) 输入提示
格式: set /p filepath=提示语
在用户输入前加一段描述,用来说明本次输入的内容要求或目的
@echo off
:loop
set /p value=请输入任意值:
if not defined value (
goto loop
)
echo %value%
pause
2. 参数 /a(A)进行数学运算
格式: set /a value=1+2+3
当赋值时有数字运算时,需加此参数
等号右边的变量可以省略%
@echo off
set x=2
set y=3
rem 第一种,后面变量需要加%
set /a value=%x%+%y%
echo 一:%value%
rem 第一种,后面变量不需要加%
set /a value=x+y
echo 二:%value%
pause
高级用法
显示系统环境变量
set path
数字运算取余时,需要两个%%
@echo off
set /a value=12%%5
echo %value%
pause
逻辑运算的特殊字符需要使用双引号
@echo off
set /a "m=1<<2"
set /a n=1"<<"2
echo %m% %n%
pause
set替换作用
@echo off
set src= China I love you
echo 替换前的值: "%src%"
::将love 用hate替换
set des=%src:love=hate%
echo 替换后的值: "%des%"
set des=%src: =123%
echo 替换后的值: "%des%"
set des=%src:I=me%
echo 替换后的值: "%des%"
set des=%src:you=she%
echo 替换后的值: "%des%"
::不显示提示
pause>nul
set取舍作用
@echo off
set src=abcdefghijklmn
echo src: %src%
set des=%src:~1,2%
echo ~1,2: %des%
set des=%src:~4,5%
echo ~4,5: %des%
set des=%src:~5%
echo ~5: %des%
set des=%src:~-5%
echo ~-5: %des%
set des=%src:~0,-5%
echo ~0,-5: %des%
pause
~1,2 表示:把源变量src的值字符串从第1个索引位开始(索引从 0 开始),取2位组成目标变量des的值(即:bc)
~4,5 表示:把源变量src的值字符串从第4个索引位开始,取5位组成目标变量des的值(即:efghi)
~5 表示:把源变量src的值字符串从第5个索引位开始,取后面所有组成目标变量des的值
~-5 表示:把源变量src的值字符串从尾部开始取5个字符组成目标变量des的值
~0,-5 表示:把源变量src的值字符串从0索引位开始,至尾部数第五个索引位为止取出组成目标变量des的值
版权声明:本文标题:Windows 批处理(bat) set语句使用教程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729087570a1185789.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论