Board logo

标题: [已结]请问能用 FOR 读出 %1-%9 的参数吗?? [打印本页]

作者: bhsx     时间: 2007-5-3 12:33    标题: [已结]请问能用 FOR 读出 %1-%9 的参数吗??

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 ]
作者: llztt     时间: 2007-5-3 12:46
我也想知道,原来想实现批处理中循环显示a1 a2 a3...类似变量的值,结果卡在如何表达这些变量名了
作者: ThinKing     时间: 2007-5-3 15:45
Re bhsx:

要显示参数%1-%9的值,必须要传递他们给批处理或者标签程序,echo %*就可以了。
作者: bhsx     时间: 2007-5-3 21:00
Re ThinKing:
我知道可以直接调用,但是我想用FOR 调用出来,不知道可不可以~!
作者: lxmxn     时间: 2007-5-4 21:02
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

作者: vkill     时间: 2007-5-7 08:36


  Quote:
Originally posted by lxmxn at 2007-5-4 21:02:
Re bhsx:

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

call :exampl ...

用shift就可以的啊
作者: lxmxn     时间: 2007-5-7 15:20


  Quote:
Originally posted by vkill at 2007-5-7 08:36:
用shift就可以的啊

你误解了楼主的意思了。

楼主是想用 for /l 来显示%1-%9的值,因为 for /l 是专门针对数字循环的。
作者: 546474     时间: 2007-5-8 11:03
学习。
作者: bhsx     时间: 2007-5-15 03:37
谢谢lxmxn