[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何根据变量,截取字符串?

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

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%!

详细介绍一下你想实现什么功能吧,定义这么多中间变量的目的是什么,直接取值不是挺好吗。

TOP

本帖最后由 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

TOP

返回列表