Board logo

标题: 我对“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个字节后的字符串