Board logo

标题: [网络连接] [已解决]goto一个bug还是批处理局域网登陆器代码有误? [打印本页]

作者: hyqiujian    时间: 2010-1-28 01:20     标题: [已解决]goto一个bug还是批处理局域网登陆器代码有误?

  1. @echo off
  2. title 局域网登陆器 —— FL·秋剑
  3. :fl
  4. set /p a=请输入对方IP地址(或计算机名):
  5. set /p b=请输入用户名(无请留空):
  6. set /p c=请输入密码(无请留空):
  7. if "%a%" == "" goto fl
  8. echo.
  9. echo.
  10. echo.
  11. echo.
  12. echo.
  13. echo              确认请回车开始自动登陆
  14. echo          输入错误请按‘N’重新输入
  15. echo.
  16. echo.
  17. set /p d=是否确认?:
  18. if "%d%" == "" goto e
  19. if "%d%" == "N" goto fl
  20. if "%d%" == "n" goto fl
  21. :e
  22. net use \\%a% %c% /user:%b%
  23. explorer \\%a%
  24. rem 这里是注释
  25. rem 如果想打开批处理便自动登陆某部计算机
  26. rem 可以以下命令
  27. rem 去掉‘rem’命令和‘[’‘]’符号
  28. rem 无密码的去掉[密码] /user:[用户名]
  29. rem net use \\[IP地址] [密码] /user:[用户名]
  30. rem explorer \\[IP地址]
复制代码
问题是:
第一次直接输入后回车可以进行登陆
但是第一次输入错误后输入‘N’或‘n’跳转到‘:fl’
接着输入且正确后按回车
就一直跳转不到‘:e’


什么原因呢?错误再哪里
还有我不太会FOR命令,各位愿意的话请指教[]

[ 本帖最后由 hyqiujian 于 2010-1-28 16:33 编辑 ]
作者: hyqiujian    时间: 2010-1-28 02:10

怎么没人理会
继续做等
作者: slore    时间: 2010-1-28 02:42

set /p d=是否确认?:

如果不输入并不清空。。。保留d的值。

先清除在赋值
set  d=
set /p d=是否确认?:
作者: hyqiujian    时间: 2010-1-28 02:50

很感谢3楼
难怪我奇怪很多人都在前面家了个空白的参数




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