中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 16:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]请问能用 FOR 读出 %1-%9 的参数吗?? 查看 937 回复 8
楼 主 [已结]请问能用 FOR 读出 %1-%9 的参数吗?? 发表于 2007-05-03 12:33 ·  中国 北京 北京京宽网络科技有限公司
初级用户
积分 43
发帖 21
注册 2007-05-01 04:06
19年会员
UID 87094
性别 男
状态 离线
RT


不知道% 怎么才能与变量写在一起


FOR /L %%I IN (1,1,9) DO ECHO %%%I

结果 = %%I 的值
得不到%1 - %9 的参数

[ Last edited by bhsx on 2007-5-15 at 03:38 AM ]
2 发表于 2007-05-03 12:46 ·  中国 河南 开封 教育网
中级用户
积分 204
发帖 44
注册 2003-08-08 00:00
22年会员
UID 8224
性别 男
状态 离线
我也想知道,原来想实现批处理中循环显示a1 a2 a3...类似变量的值,结果卡在如何表达这些变量名了
3 发表于 2007-05-03 15:45 ·  中国 湖北 武汉 电信
中级用户
★★
积分 471
发帖 207
注册 2007-05-03 14:53
19年会员
UID 87369
性别 男
状态 离线
Re bhsx:

要显示参数%1-%9的值,必须要传递他们给批处理或者标签程序,echo %*就可以了。
4 发表于 2007-05-03 21:00 ·  中国 广东 广州 联通
初级用户
积分 43
发帖 21
注册 2007-05-01 04:06
19年会员
UID 87094
性别 男
状态 离线
Re ThinKing:
我知道可以直接调用,但是我想用FOR 调用出来,不知道可不可以~!
5 发表于 2007-05-04 21:02 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Re bhsx:

答案是可以的,不过要注意,貌似只能处理%1-%9,到了%10就不行了,这个和for命令的变量只能取一个字符不无关系。
@echo off

call :example a b c d e f g h i j
pause&exit/b


:example
for /l %%a in (1,1,10) do call echo %%%%~a
6 发表于 2007-05-07 08:36 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by lxmxn at 2007-5-4 21:02:
Re bhsx:

答案是可以的,不过要注意,貌似只能处理%1-%9,到了%10就不行了,这个和for命令的变量只能取一个字符不无关系。
@echo off

call :exampl ...

用shift就可以的啊
7 发表于 2007-05-07 15:20 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by vkill at 2007-5-7 08:36:
用shift就可以的啊

你误解了楼主的意思了。

楼主是想用 for /l 来显示%1-%9的值,因为 for /l 是专门针对数字循环的。
8 发表于 2007-05-08 11:03 ·  中国 安徽 芜湖 电信
中级用户
★★
积分 247
发帖 123
注册 2007-04-17 06:29
19年会员
UID 85468
性别 男
状态 离线
学习。
9 发表于 2007-05-15 03:37 ·  中国 北京 海淀区 IDC机房
初级用户
积分 43
发帖 21
注册 2007-05-01 04:06
19年会员
UID 87094
性别 男
状态 离线
谢谢lxmxn
论坛跳转: