中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]DOS数组? 上一主题 | 下一主题
sinbao
初级用户





积分 184
发帖 73
注册 2007-5-24
状态 离线
『楼 主』:  [求助]DOS数组?

如下,array是一个类似数组的变量,以逗号分隔,目的是打印这个数组.请教一下有没有别的更好的方法?或者该代码有值得改进的地方?
@echo off
set array=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u
for /f "tokens=1-26 delims=," %%a in ("%array%") do (
        if not "%%a"=="" echo %%a
        if not "%%b"=="" echo %%b
        if not "%%c"=="" echo %%c
        if not "%%d"=="" echo %%d
        if not "%%e"=="" echo %%e
        if not "%%f"=="" echo %%f
        if not "%%g"=="" echo %%g
        if not "%%h"=="" echo %%h
        if not "%%i"=="" echo %%i
        if not "%%j"=="" echo %%j
        if not "%%k"=="" echo %%k
        if not "%%l"=="" echo %%l
        if not "%%m"=="" echo %%m
        if not "%%n"=="" echo %%n
        if not "%%o"=="" echo %%o
        if not "%%p"=="" echo %%p
        if not "%%q"=="" echo %%q
        if not "%%r"=="" echo %%r
        if not "%%s"=="" echo %%s
        if not "%%t"=="" echo %%t
        if not "%%u"=="" echo %%u
        if not "%%v"=="" echo %%v
        if not "%%w"=="" echo %%w
        if not "%%x"=="" echo %%x
        if not "%%y"=="" echo %%y
        if not "%%z"=="" echo %%z
)
[ Last edited by sinbao on 2007-12-28 at 12:09 PM ]

2007-12-28 12:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 2 楼』:  

%%a

不就是for传的变量吗?
为什么还要
        if not "%%b"=="" echo %%b
        if not "%%c"=="" echo %%c
        if not "%%d"=="" echo %%d
        if not "%%e"=="" echo %%e
        if not "%%f"=="" echo %%f
        if not "%%g"=="" echo %%g
        if not "%%h"=="" echo %%h
        if not "%%i"=="" echo %%i
        if not "%%j"=="" echo %%j
        if not "%%k"=="" echo %%k
        if not "%%l"=="" echo %%l
        if not "%%m"=="" echo %%m
        if not "%%n"=="" echo %%n
        if not "%%o"=="" echo %%o
        if not "%%p"=="" echo %%p
        if not "%%q"=="" echo %%q
        if not "%%r"=="" echo %%r
        if not "%%s"=="" echo %%s
        if not "%%t"=="" echo %%t
        if not "%%u"=="" echo %%u
        if not "%%v"=="" echo %%v
        if not "%%w"=="" echo %%w
        if not "%%x"=="" echo %%x
        if not "%%y"=="" echo %%y
        if not "%%z"=="" echo %%z
这些判断呢??有这些变量吗??

   此帖被 +2 点积分    点击查看详情   
评分人:【 sinbao 分数: +2  时间:2008-1-4 10:35


2007-12-28 13:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  


@echo off
set array=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u
for %%i in (%array%) do echo %%i


   此帖被 +2 点积分    点击查看详情   
评分人:【 sinbao 分数: +2  时间:2008-1-4 13:47




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-12-28 15:41
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sinbao
初级用户





积分 184
发帖 73
注册 2007-5-24
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by Climbing at 2007-12-28 03:41 PM:
@echo off
set array=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u
for %%i in (%array%) do echo %%i

!

2008-1-4 10:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 5 楼』:  

没明白楼主意图
@echo off
call :xxx a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u
pause
exit

:xxx
if "%1"=="" goto:eof
echo %1
shift
goto xxx


   此帖被 +2 点积分    点击查看详情   
评分人:【 sinbao 分数: +2  时间:2008-1-6 19:06




第一高手    第二高手

2008-1-4 11:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sinbao
初级用户





积分 184
发帖 73
注册 2007-5-24
状态 离线
『第 6 楼』:  

对不起,给错分了,应该给Climbing的给了wjcing...
现在补上了.

@fastslz:
我的意思是Climbing的解答很好!
你的解答也很酷!
明天再给你补分.

[ Last edited by sinbao on 2008-1-4 at 01:53 PM ]

2008-1-4 13:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: