日期:2014-05-17  浏览次数:20717 次

关于批处理字符串截取,使用环境变量的一个小问题?
@echo off
setlocal enabledelayedexpansion
set start=1
set len=3
set text=Chinese
set output=!text:~%start%,%len%!
echo %output%
pause 

这个是可以把text中以start开始,长度为len的字符串截取出来赋值给output的批处理程序,输出结果是"hin"
在这里,如果把代码"set output=!text:~%start%,%len%!"换成"set output=%text:~!start!,!len!%"(也就是说%和!互换),输出的结果是"text:~1,3",求解释,还请问有没有其他的方法来使用环境变量来截取字符串(这个是我自己摸索出来的)?

------解决方案--------------------
探讨
求解啊,这么简单一道题都没人会?
我感觉貌似用call set可以实现的。