详解批处理BAT替换与截取字符串的用法t1=%a:~3%是什么意思
1549 点击·0 回帖
![]() | ![]() | |
![]() | 在bat编写中,我们经常越到t1=%a:~3%之类的代码,这里简单介绍下用法,需要的朋友可以参考下
一、替换用法 例 复制代码 代码如下: @echo off set a=belcome to CMD borld! set temp=%a:b=w% echo %temp% pause 将显示 welcome to CMD world! 即用w替换了变量a中的b。 二、截取用法 字符串最前面的光标所在处表示第0位,第一个字符后面的光标所在表示第一位,依次类推。 为了更好的理解截取用法,下面给出了字符串superhero位数的相关示意图: s u p e r h e r o 0 1 2 3 …… -3 -2 -1 无表示 例 复制代码 代码如下: @echo off set a=superhero set temp=%a:~0,5% echo %temp% pause 将显示super 即显示了变量a的第0位至第5位中包括的所有元素。 若如下 复制代码 代码如下: @echo off set a=superhero set temp=%a:~3% echo %temp% pause [html] 将显示perhero 即显示了变量a的第三位以后的所有字符。 若如下 [code] @echo off set a=superhero set temp=%a:~-3% echo %temp% pause 将显示ero 即显示了变量a的倒数三个字符。 若如下 复制代码 代码如下: @echo off set a=superhero set temp=%a:~0,-3% echo %temp% pause 将显示superh 即显示了变量a的第0位和第-3位中间包含的所有字符。 | |
![]() | ![]() |