灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1133回复:0

详解批处理BAT替换与截取字符串的用法t1=%a:~3%是什么意思

楼主#
更多 发布于:2013-05-28 10:01
在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位中间包含的所有字符。

喜欢0 评分0
游客

返回顶部