中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 15:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]关于输入数字后拆分成单个字符的问题 查看 654 回复 3
楼 主 [求助]关于输入数字后拆分成单个字符的问题 发表于 2009-04-06 11:19 ·  埃塞俄比亚
新手上路
积分 14
发帖 14
注册 2009-02-09 15:18
17年会员
UID 138402
性别 男
状态 离线
想编写一个类似文曲星上猜数字的游戏,即要求输入一个四位数字,然后判断输入的是否正确。现在需要将一个输入的四位数字,如1234(连续输入)分别拆分为1、2、3、4四个字符,请教高手如何实现。谢谢。
2 发表于 2009-04-06 11:25 ·  中国 广东 广州 广东金万邦科技投资有限公司(新一代数据中心)IDC机房(BGP)
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
@echo off
set input=&set /p input=请输入:
for /l %%a in (0 1 9) do (call set input=%%input:%%a=%%a %%)
echo."%input%"
pause
3 发表于 2009-04-06 11:34 ·  埃塞俄比亚
新手上路
积分 14
发帖 14
注册 2009-02-09 15:18
17年会员
UID 138402
性别 男
状态 离线
多谢2楼的高手,但是怎么把每个%input%的值分别赋值给四个参数?
比如第一个字符赋值给a,第二个字符赋值给b……?
4 发表于 2009-04-06 11:45 ·  中国 广东 广州 广东金万邦科技投资有限公司(新一代数据中心)IDC机房(BGP)
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
如果有疑问,希望能在顶楼一次性描述清楚...
@echo off
Setlocal Enabledelayedexpansion
set n=0
for %%a in (a b c d) do (
set /a n+=1
set var!n!=%%a
)
set n=0&set input=&set /p input=请输入:
for /l %%a in (0 1 9) do (set input=!input:%%a=%%a !)
for %%a in (%input%) do (
set /a n+=1
call set %%var!n!%%=%%a
)
for %%a in (a b c d) do echo.%%a:!%%a!
echo.input:"%input%"
pause
论坛跳转: