一、基本知识
在DOS中,对字符串的处理其最简单是就字符串的连接:
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="color: rgb(0, 51, 102);"><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> out_dir</span><span class="pun" style="color: rgb(102, 102, 0);">=.</span><span class="pln" style="color: rgb(0, 0, 0);">\out</span></span></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="color: rgb(0, 51, 102);"><span class="pln" style="color: rgb(0, 0, 0);">set out_file_name</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="typ" style="color: rgb(102, 0, 102);">Appstore</span></span></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="color: rgb(0, 51, 102);"><span class="typ" style="color: rgb(102, 0, 102);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> version</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">001</span></span></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="color: rgb(0, 51, 102);"><span class="lit" style="color: rgb(0, 102, 102);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> out_file_name</span><span class="pun" style="color: rgb(102, 102, 0);">=%</span><span class="pln" style="color: rgb(0, 0, 0);">out_file_name</span><span class="pun" style="color: rgb(102, 102, 0);">%</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">%</span></span><span style="line-height: 22px; color: rgb(0, 51, 102); font-family: Arial, Helvetica, sans-serif;"><span class="pln" style="line-height: 25px; color: rgb(0, 0, 0);">version</span></span><span style="line-height: 22px; color: rgb(0, 51, 102); font-family: Arial, Helvetica, sans-serif;"><span class="pun" style="line-height: 25px; color: rgb(102, 102, 0);">%</span></span></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="color: rgb(0, 51, 102);"><span class="pln" style="color: rgb(0, 0, 0);">echo </span><span class="pun" style="color: rgb(102, 102, 0);">%</span></span><span style="line-height: 22px; color: rgb(0, 51, 102); font-family: Arial, Helvetica, sans-serif;"><span class="pln" style="line-height: 25px; color: rgb(0, 0, 0);">out_file_name</span></span><span style="line-height: 22px; color: rgb(0, 51, 102); font-family: Arial, Helvetica, sans-serif;"><span class="pun" style="line-height: 25px; color: rgb(102, 102, 0);">%</span></span></p><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"></p>
最后变量out_file_name的值就是Appstore_001
在DOS中,对字符串的负责处理(替换和截取)其实是通过操作环境变量的字符串值来进行。
二、%PATH:str1=str2%
这个是替换变量值的内容
实例1:
@echo off
set a= bbs.verybat.cn
echo 替换前的值: "%a%"
set var=%a: =%
echo 替换后的值: "%var%"
pause
对比一下,我们发现他把变量%a%的空格给替换掉了,从这个例子,我们就可以发现
%PATH:str1=str2%这个操作就是把变量%PATH%的里的str1全部用str2替换
比如我们把上面的例子改成这样
实例2:
@echo off
set a=bbs.verybat.cn
echo 替换前的值: "%a%"
set var=%a:.=伤脑筋%
echo 替换后的值: "%var%"
pause
解释set var=%a:.=伤脑筋%
set命令 var变量名 字a是要进行字符替换的变量的值,"."为要替换的值,
"伤脑筋"为替换后的值!
执行后就会把变量%a%里面的"."全部替换为"伤脑筋"
三、%PATH:~10,5%
取变量PATH从第10位开始,5个字符的值z做为新值。
实例3:
@echo off
set a=0123456789
set var=%a:~1,2%
echo %var%
set var=%a:~3,5%
echo %var%
四、%PATH:~-10%
取变量PATH倒数10字符的值做为新值。
实例4:
@echo off
set a=0123456789
set var=%a:~-5%
echo %var%
pause
结果:56780
五、%PATH:~0,-2%
取变量PATH第0字符和倒数第2个的所值做为新值。
实例5:
@echo off
set a=0123456789
set var=%a:~0,-2%
echo %var%
pause
结果:01234567