楼 主
关于shift,call~!比较实用的问题……
发表于 2007-10-17 15:43 · 中国 浙江 台州 电信
初级用户
★
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
@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
第 2 楼
发表于 2007-10-17 21:24 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
去掉call不就是了?
另外,你的程序进入死循环了。
第 3 楼
发表于 2007-10-18 13:48 · 中国 浙江 台州 电信
初级用户
★
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
首先 感谢 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
第 4 楼
发表于 2007-10-18 13:49 · 中国 浙江 台州 电信
初级用户
★
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
第 5 楼
发表于 2007-10-18 14:28 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
看下面的代码没有用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%
第 6 楼
发表于 2007-10-19 08:26 · 中国 浙江 台州 电信
初级用户
★
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
也 只能 这样了呵呵~ 谢了 ~ 不得不爱 &&lxmxn
第 7 楼
发表于 2008-04-26 15:56 · 中国 广东 江门 蓬江区 电信
初级用户
★
积分 29
发帖 15
注册 2008-04-23 20:23
18年会员
UID 116742
性别 男
状态 离线
论坛跳转: