变量替换,替换变量中的字符
变量替换的基本形式:%变量名:被替换字符=替换字符%
替换字符:会替换变量中每个"被替换字符"
先来看个例子:
@echo off rem 设置一个变量 set var=QQ大战360 rem 替换变量中的"大战"为"PK",显示出来 echo %var:大战=PK% pause rem 重新定义var的值 set var=%var:大战=PK% echo %var% pause
要删除变量中的"被替换字符",替换字符可以为空
@echo off rem 设置一个变量 set var=做车的跟做鞋的打起来了 rem 删除变量中的"打起来了",替换字符为空,重新定义var set var=%var:打起来了=% echo %var% pause
变量替换中的"*"应用
当星号在"被替换字符"的前面,
那么将替换"被替换字符"前面的所有字符(包括第一次出现的"被替换字符")
@echo off rem 设置一个变量 set "var=一个A,加一个A,在加一个A,在加一个" rem 重新定义var,将左边第一次出现的A和A前面的所有字符替换为空 set var=%var:*A=% echo %var% pause
变量替换的常用方法
变更替换多用于替换文本中的字符
有一文本为test.txt,内容为:
这是聊天记录!好好看看,会有发现的。
现在将"看"替换为"查",生成一个new_test.txt
@echo off rem 将test.txt的第一行赋值比变量var set /p var=<test.txt rem 替换后生成新的文件 echo %var:看=查% >new_test.txt
同样,多个不同变量定义的进阶方法:
一般我们定义一些字符的变量是一个个定义的如:
set a=有 & set b=一 & set c=只 & set d=小 & set e=猫 & set f=!
下面使用变量替换来定义多个变量更加方便
@echo off rem 设置a变量 set "a=有;b=一;c=只;d=小;e=猫;f=!" rem 替换a变量的内容进行多个变量定义 rem 替换";"号为"&set空格" set a=%a:;=&set % echo %a%,%b%,%c%,%d%,%e%,%f% pause