找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24129|回复: 2

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

[复制链接]
发表于 2014-10-17 12:59:36 | 显示全部楼层 |阅读模式
根据变量,截取字符串,使用了一个中间变量,
请问,能不能省去这个中间变量

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%!
发表于 2014-10-17 13:21:53 | 显示全部楼层
详细介绍一下你想实现什么功能吧,定义这么多中间变量的目的是什么,直接取值不是挺好吗。
 楼主| 发表于 2014-10-17 13:32:07 | 显示全部楼层
本帖最后由 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 19:55 , Processed in 0.027632 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表