【原创】【学习笔记2】set的用法

时间:2024-04-13 18:43:05

bat里的字符串不需要""括起来

30 setlocal 和 endlocal
设置”命令扩展名”和”延缓环境变量扩充”
SETLOCAL ENABLEEXTENSIONS #启用"命令扩展名"
SETLOCAL DISABLEEXTENSIONS #停用"命令扩展名"
SETLOCAL ENABLEDELAYEDEXPANSION #启用"延缓环境变量扩充"
SETLOCAL DISABLEDELAYEDEXPANSION #停用"延缓环境变量扩充"
ENDLOCAL #恢复到使用SETLOCAL语句以前的状态
“命令扩展名”默认为启用
“延缓环境变量扩充”默认为停用
批处理结束系统会自动恢复默认值
可以修改注册表以禁用"命令扩展名",详见 cmd /? 。所以用到"命令扩展名"的程
序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确
保程序能在其它系统上正确运行
"延缓环境变量扩充"主要用于 if 和 for 的符合语句,在 set 的说明里有其实用例程

 

 

set 的基础用法

1.1 单独输入set

语法: set

返回系统变量

 

1.2设置变量 set  和echo 联动

语法:set a=3

具体例子

set a=3

echo %a%

语法注意点

  • =前后不能有空格,否则语法不成立
  • echo 显示变量语法
  • echo %变量名% 而不能是 echo var
  • echo var 返回的只是var 而不是变量的值

 

1.3 set 附带的两个开关  set /a 和  set /p

语法:注意,不区分大小写  /a  /A都可以

set    var=value                                                rem 设置变量

 

SET /P variable=[promptString] 接受界面参数

set /p    var=请你输入一个数字:                       rem需要用户输入

 

 

set /a    expression                                           rem做表达式数值运算

set /a    var1=var2+var3                                   rem做表达式数值运算

例子1

set /a  c=1+2

例子2

set  m=1

set n=2

set y=m+n

错误用法(正确写法是  set /a c=1+2)

set  c=1+2

echo c               rem 输出结果 c

echo %c%         rem 输出结果 1+2

【原创】【学习笔记2】set的用法

 

1.4 带重定向,用set设置变量 =< (不是<)读入文件内容

set /p  a=<文件

特别注意语法点

  • set /p
  • a=<

【原创】【学习笔记2】set的用法

 

 

1.5  查找和截取字符串

语法:

set b=%a:~1,n%

set c=%a:~0,-n% 倒数的n

记住字符串从0开始

注意 :和 ~

【原创】【学习笔记2】set的用法

 

1.6 替换字符串

语法:

set c=%a:xxx=yyy 

注意 :和 =

【原创】【学习笔记2】set的用法