第九讲:变量替换

变量替换,替换变量中的字符
变量替换的基本形式:%变量名:被替换字符=替换字符%
替换字符:会替换变量中每个"被替换字符"
先来看个例子:

@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

猜你喜欢

转载自yshlin.iteye.com/blog/1738044