Board logo

标题: [网络连接] 批处理运行完一整个过程后为何在某个位置上无限循环? [打印本页]

作者: liuqilfj    时间: 2011-2-1 20:43     标题: 批处理运行完一整个过程后为何在某个位置上无限循环?

整套命令运行已遍以后会在拼本机及244的机器这里无线循环,再也无法整套命令一起运行了
求高手指点

  1. @echo off
  2. :a
  3. ping 127.0.0.1 -n 3
  4. setlocal enabledelayedexpansion
  5. ping 192.168.8.244&&goto :a||goto :reboot
  6. set a=0
  7. :reboot
  8. ping 127.0.0.1 -n 3
  9. set /a a+=1
  10. if !a!==3 (goto :bbb) else (ping 192.168.8.244&&goto :a||goto :reboot)
  11. :bbb
  12. ping 192.168.8.250&&goto :2||goto :1
  13. :1
  14. net use z: [url=file://\\192.168.10.253\z]\\192.168.10.253\z[/url]
  15. ipconfig >z:\%computername%.txt
  16. net use z: /del
  17. goto :a
  18. :2
  19. net use z: [url=file://\\192.168.8.250\z]\\192.168.8.250\z[/url]
  20. ipconfig >z:\%computername%.txt
  21. net use z: /del
  22. goto :a
复制代码

作者: 随风    时间: 2011-2-1 20:53

Q:所发代码不止一行时请用 code 把代码扩起来
A:如何用code把代码扩起来 ,请点我。
作者: liuqilfj    时间: 2011-2-1 21:17

不懂
试了下提示
(code)和[code]都不是可运行命令····
作者: 随风    时间: 2011-2-1 21:29

对于别人的回帖楼主应该仔细阅读,大过年的就不锁你的帖了,帮你编辑了吧。
注意看你顶楼的代码。

把这两行换个位置试试
ping 192.168.8.244&&goto :a||goto :reboot
set a=0

[ 本帖最后由 随风 于 2011-2-1 21:30 编辑 ]
作者: hanyeguxing    时间: 2011-2-1 22:12

1,不要在循环内单独使用 setlocal enabledelayedexpansion ,很容易超过最大递归的,而且以楼主的代码,也没这个必要
2,说明设计代码的思路和工作过程,别人才好帮你查看

[ 本帖最后由 hanyeguxing 于 2011-2-1 22:37 编辑 ]




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2