中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 19:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何对多个变量用相同方法处理获得对应变量(自己搞定) 查看 762 回复 1
楼 主 如何对多个变量用相同方法处理获得对应变量(自己搞定) 发表于 2006-07-19 23:37 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
有若干变量:set1~set10

set A=%setup%

A数据处理

获取set1~set10变量经A数据处理候的新变量:setA1~setA10

如何实现以上%setup%对于set1~set10变量的获取?

使用了 3742668 版主的16进制转换(稍做简化)
将多个变量输入转为“set”,获取对应的“结果1~N”
set 源数=%set%
set /a 源数=%源数% || goto :eof

:dosomething
set /a 余数 = %源数% %% 16
set /a 源数 /= 16
call :转换 %余数%
set 计算结果=%余数%%计算结果%
if %源数% lss 16 goto end
goto dosomething

:转换
set 余数=%1
if %1 lss 10 goto :eof
if "%1" == "10" set 余数=A
if "%1" == "11" set 余数=B
if "%1" == "12" set 余数=C
if "%1" == "13" set 余数=D
if "%1" == "14" set 余数=E
if "%1" == "15" set 余数=F
goto :eof

:end
call :转换 %源数%
set 源数=%余数%
if "%源数%" == "0" set 源数=
set 结果1~N=%源数%%计算结果%
set 源数=
set 余数=
set 计算结果=


[ Last edited by zxcv on 2006-7-24 at 15:08 ]
2 发表于 2006-07-20 10:53 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
原来的16进制计算问题已经自己解决了,改一个
论坛跳转: