中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-18 21:26
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » [求助]循环作业
可打印版本  826 / 7
第1楼 prodigall 发表于 2007-06-14 10:21
初级用户 发帖 36 积分 80
[求助]循环作业
要求:
在DOS下让系统自动重启20次,然后进入到D盘根目录.
请高手赐教
第2楼 wudixin96 发表于 2007-06-14 10:31
银牌会员 发帖 931 积分 1,928
让DOS系统重启??
第3楼 Climbing 发表于 2007-06-14 10:34
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
重新启动后还是DOS吗?你自己的逻辑严重错误。

如果重新启动后还是进入同样的DOS,你可以考虑在autoexec.bat中用一个文件来记数。

例如:
...
if exist count.bat call count.bat
if "%count%"=="" set count=0

for %%i in (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) do if %count%==%%i goto _%%i

:_0
echo set count=1 > count.bat
reboot

:_1
echo set count=2 > count.bat
reboot

...

:_20
del count.bat
d:

大概是这意思。自己根据情况修改。
第4楼 prodigall 发表于 2007-06-14 10:53
初级用户 发帖 36 积分 80
多谢3楼的
差不多就是这个意思嘛
就是纯DOS系统,进入DOS后重启,进入DOS,再重启......
循环20次。
上述方法应该是可以实现的,但不知是否有更简便的方法呢?
因为特殊需要,其实本是要求做500次开机->复位的动作
按以上的方法可能会很麻烦吧 :)
第5楼 wudixin96 发表于 2007-06-14 11:13
银牌会员 发帖 931 积分 1,928

这样行吗?
第6楼 Climbing 发表于 2007-06-14 11:55
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
如果是在cmd环境下当然可以用楼上的方法,但这是在纯DOS,只能另想办法了。

关键的问题是在纯dos下无法用内置的命令实现计数和加减操作。如果使用第三方命令,例如strings,就比较容易了。例如:

在autoexec.bat中这样:

if exist count.bat call count.bat
if "%count%"=="" set count=0
strings count = add 1,%count%
if "%count%"=="500" goto _noreboot
echo set count=%count% > count.bat
reboot

:_noreboot
d:
第7楼 wudixin96 发表于 2007-06-14 11:58
银牌会员 发帖 931 积分 1,928
晕。忘是纯DOS下了。呵呵。
第8楼 Climbing 发表于 2007-06-14 13:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023