标题: [已结]shift命令如何在for循环中使用
[打印本页]
作者: blancy
时间: 2009-2-24 17:48
标题: [已结]shift命令如何在for循环中使用
a.bat内容如下:
@echo off
CALL :AA 01 03 05
goto :END
:AA
For /L %%s IN (1,1,3) DO (
echo cc.c%1
shift /1
)
goto :eof
:END
echo OK!!!
运行结果:
cc.c01
cc.c01
cc.c01
OK!!!
请问如何得到
cc.c01
cc.c02
cc.c03
OK!!!
[
Last edited by blancy on 2009-2-25 at 10:53 ]
作者: bat-zw
时间: 2009-2-24 18:53
@echo off
call :lp 1 2 3 4 5 6 7 8 9
pause>nul&goto :eof
:lp
if "%1" neq "" (
echo %1
shift&goto lp
)
作者: blancy
时间: 2009-2-24 19:10
to: 楼上,请问我这个程序错在哪呢?
@echo off
CALL :AA 01 03 05
goto :END
:AA
For /L %%s IN (1,1,3) DO (
echo cc.c%1
shift /1
)
goto :eof
:END
echo OK!!!
作者: 不得不爱
时间: 2009-2-24 20:03
变量延迟引起结果不等于你的希望值,改成下面的就可以了!
@echo off
CALL :AA 01 03 05
goto :END
:AA
For /L %%s IN (1,1,3) DO (
call echo cc.c%%1
shift /1
)
goto :eof
:END
echo OK!!!
[
Last edited by 不得不爱 on 2009-2-24 at 20:05 ]
作者: blancy
时间: 2009-2-25 10:51
Quote: |
Originally posted by 不得不爱 at 2009-2-24 20:03:
变量延迟引起结果不等于你的希望值,改成下面的就可以了!
@echo off
CALL :AA 01 03 05
goto :END
:AA
For /L %%s IN (1,1,3) DO (
call echo cc.c%%1
shift /1
)
goto :eo ... |
|
非常非常感谢两位的帮助
作者: jet
时间: 2009-3-3 08:12
引用:
------------------------------------------------------------------------------------
变量延迟引起结果不等于你的希望值,改成下面的就可以了!
@echo off
CALL :AA 01 03 05
goto :END
:AA
For /L %%s IN (1,1,3) DO (
call echo cc.c
%%1
shift /1
)
goto :eof
:END
echo OK!!!
-----------
其中的call echo cc.c%%1为什么是2个%?
作者: q385131731
时间: 2009-3-3 10:39
因为批处理下的变量要用%%n ,要比dos内多个% , 格式规定要这样用
作者: 674116666
时间: 2009-4-8 09:08
格式规定要这样用
对
作者: faultcode
时间: 2009-6-12 05:58
格式规定? -_-!
尾随乞丐 嘿嘿...