Board logo

标题: [文本处理] 批处理如何根据变量,截取字符串? [打印本页]

作者: newswan    时间: 2014-10-17 12:59     标题: 批处理如何根据变量,截取字符串?

根据变量,截取字符串,使用了一个中间变量,
请问,能不能省去这个中间变量

echo off
setlocal enabledelayedexpansion

set xx=0123456789
set Language=cn

set enNum=5,1
set cnNum=6,1

set b=!%Language%Num!
echo 2  !xx:~%b%!
作者: DAIC    时间: 2014-10-17 13:21

详细介绍一下你想实现什么功能吧,定义这么多中间变量的目的是什么,直接取值不是挺好吗。
作者: newswan    时间: 2014-10-17 13:32

本帖最后由 newswan 于 2014-10-18 00:04 编辑

有2个变量Lange和Option,根据2个变量组合,截取的位置不同,长度不同

基本解决,大家还有什么好办法?
请指教

echo off
setlocal enabledelayedexpansion
set xx=01abhzj

set enNum=1,1
set enLetter=2,2
set cnNum=4,1
set cnLetter=5,2

set Language=en
set Option=Letter

set b=!%Language%%Option%!
echo !xx:~%b%!
set Vol!Option!=!xx:~%b%!
echo ***!Vol%Option%!***

echo,
call :setvar %Language% %Option%!
echo ****!Vol%Option%!****

goto :end

:setvar
set vb=!%1%2!
set Vol%2=!xx:~%vb%!
goto :eof

:end
pause




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2