Board logo

标题: 关于shift,call~!比较实用的问题…… [打印本页]

作者: jun19841     时间: 2007-10-17 15:43    标题: 关于shift,call~!比较实用的问题……

@echo off
set Num=1 2 3 4 5 6 7 8 9
echo @echo off >>u.bat
echo set Num=%%1 >>u.bat
echo :loop >>u.bat
echo echo %%1 >>u.bat
echo echo. >>u.bat
echo pause >>u.bat
echo shift >>u.bat
echo goto loop >>u.bat
call u.bat %Num%
pause

只能 通过CALL 来完成,麻烦哪位   牛 插   的   ……出来亮亮相哦!!
不用call直接完成这个循环~!
:o
作者: lxmxn     时间: 2007-10-17 21:24
去掉call不就是了?
另外,你的程序进入死循环了。
作者: jun19841     时间: 2007-10-18 13:48
首先  感谢 lxmxn 先
   如果 去掉call  就得不到 结果了 只显示%1额~
       有点 糊了,   
@echo off
set Num=1 2 3 4 5 6 7 8 9
echo @echo off >>u.bat
echo set Num=%%1 >>u.bat
echo :loop >>u.bat
echo echo %%1 >>u.bat
echo echo. >>u.bat
echo pause >>u.bat
echo if %%1==9 goto end >>u.bat
echo shift >>u.bat
echo goto loop >>u.bat
echo :end >>u.bat
echo exit >>u.bat
call u.bat %Num%
pause
作者: jun19841     时间: 2007-10-18 13:49
被调入的 bat  跟直接执行的 似乎还是有点区别
作者: 不得不爱     时间: 2007-10-18 14:28
看下面的代码没有用CALL, 效果是一样的吧
@echo off
set Num=1 2 3 4 5 6 7 8 9
echo @echo off>u.bat
echo set Num=%%1>>u.bat
echo :loop>>u.bat
echo echo %%1>>u.bat
echo echo.>>u.bat
echo pause >>u.bat
echo if %%1==9 goto end>>u.bat
echo shift>>u.bat
echo goto loop>>u.bat
echo :end>>u.bat
u.bat %Num%

作者: jun19841     时间: 2007-10-19 08:26
也 只能 这样了呵呵~  谢了  ~  不得不爱  &&lxmxn
作者: 106942397     时间: 2008-4-26 15:56
看不懂有什么区别?