标题: 我对“set str2=%str1:~Num1[,Num2]%”的理解
[打印本页]
作者: wjmm
时间: 2008-7-4 09:39
标题: 我对“set str2=%str1:~Num1[,Num2]%”的理解
set str2=%str1:~Num1[,Num2]%
:字符串的截取
:str1是原来的字符串,str2是是截取后输出屏幕的字符串
:Num1为正数表示即去掉左边Num1个字节,即从第Num1+1个字节算起。
:Num1为负数表示从从倒数Num1个字节开始算
:Num1为表示从第一个字节开始算
:Num2为正数表示截取长度为Num2,即再算Num2个字节。
:Num2为负数表示去掉右边Num2个字节,即截取到倒数第Num2+1个字节
:Num2为空表示截取到最后一个字节
:一个汉字或一个字母都算一个字节
@echo off
set zf=123456789
set zf4=%zf:~2,4%
echo %zf4%
:屏幕输出为3456,去掉左边2个字节后,往后算4个字节
set zf5=%zf:~2%
echo %zf5%
:屏幕输出为3456789,去掉左边2个字节后的字符串
set zf6=%zf:~-3%
echo %zf6%
:屏幕输出为789,倒数第3个字符起的字符串
set zf7=%zf:~2,-4%
echo %zf7%
:屏幕输出为345,去掉左边3个字节开始,去掉右边4个字节后的字符串
set zf8=%zf:~-6,-3%
echo %zf7%
:屏幕输出为456,显示从倒数第6个字节开始算,去掉右边3个字节后的字符串