[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]登陆文件共享服务器BAT代码加上前缀为何出问题?

本帖最后由 gobi918 于 2012-8-14 10:37 编辑

代码如下,是我做的一个工具中需要调用服务器资源的时候call的登陆模块:

call :ftplogon
......
......
  1. rem ============210登陸代碼=================
  2. :Ftplogon
  3. cls
  4. title ※10.144.133.210服務器智能登陸※
  5. mode con cols=45 lines=12
  6. :Noname
  7. cls
  8. echo 正在驗證登陸身份...
  9. echo=
  10. set error=
  11. echo y|net use \\10.144.133.210 2>nul 1>nul
  12. set error=%errorlevel%
  13. if "%error%" EQU "0" cls & goto :eof
  14. if "%error%" EQU "2" goto logon
  15. :logon
  16. cls
  17. echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
  18. echo=
  19. echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
  20. echo=
  21. net use \\10.144.133.210\IPC$ /del /Y 1>nul 2>nul
  22. net use \\10.144.133.210\setup /del /Y 1>nul 2>NUL
  23. set account=
  24. set /p  account=請輸入210服務器帳號:
  25. if /i "%account%"=="Q" goto menu
  26. echo=
  27. echo 請輸入210服務器密碼:
  28. net use \\10.144.133.210 /user:"BUII-SM-SERVER\%account%" >nul
  29. goto noname
复制代码
这个模块被call到的时候,就会出现如下登陆提示:

無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!

溫馨提示:輸入 Q 可取消登錄并返回主菜單...

請輸入210服務器帳號:


现在有一个小问题,当输入账号回车后,会继续提示:
请输入210服务器密码:

我的密码是user.2012

当输入完之后还未回车就会出现如下情况:

╔══════════════════════════════╗

   無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!

   溫馨提示:輸入 Q 可取消登錄并返回主菜單...

   請輸入210服務器帳號:ser.2012

╚══════════════════════════════╝

即,输入U的时候,直接又跳转到了账号输入那里,但是第二次输入就没有问题

这种问题出现很频繁,一般都是第一次call并登陆的时候会这样。

好像是输入“U”之后下面这段关键登陆代码会直接运行下去:

net use \\10.144.133.210 /user:"BUII-SM-SERVER\%account%" >nul

事实上并没有回车啊?这是何故,还请大哥们不吝赐教~多谢!


Ps:我问过其他使用过此工具的同事,他们也说会出现此种情况,

一般都是按下第一个密码时就执行下去了,然后回显了后面的密码.....


2012/8/10 补充:经过N次实验,发现是BUII-SM-SERVER\%account% 的问题。
若不加共享服务器计算机名前缀则不会出现上述问题,直接使用/user:%account% 即可;
但是不加远程计算机名前缀又可能出现无法识别用戶名的情況~

恳请高手分析一下加了前缀为啥会出现以上问题??

希望有大大彻底解决这个问题~

TOP

没有大大见过这样的杂症,只好凑合解决问题了:
设定前三次使用不加共享服务器前缀的登陆方式,若第三次依然未成功则转到加前缀的登录方式。
代码如下:
  1. :Ftplogon
  2. cls
  3. title ※10.144.133.210服務器智能登陸※
  4. mode con cols=45 lines=12
  5. set p=0
  6. :Noname
  7. echo 正在驗證登陸身份......
  8. echo=
  9. set error=
  10. echo y|net use \\10.144.133.210  2>nul 1>nul
  11. set error=%errorlevel%
  12. if "%error%" EQU "0" cls & goto :eof
  13. if "%error%" EQU "2" goto logon
  14. echo=
  15. echo 連接失敗!請嘗試手動登入210!
  16. pause>nul
  17. goto :eof
  18. :logon
  19. CLS
  20. set p+=1
  21. if %p% LEQ 3 (
  22. echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
  23. echo=
  24. echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
  25. echo=
  26. set account=
  27. setlocal enabledelayedexpansion
  28. set /p  account=請輸入210服務器帳號:
  29. if /i "!account!"=="Q" goto menu
  30. echo=
  31. echo 請輸入210服務器密碼:
  32. net use \\10.144.133.210\IPC$ /user:!account! 2>nul 1>nul
  33. cls
  34. goto noname ) else (
  35. echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
  36. echo=
  37. echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
  38. echo=
  39. set account=
  40. setlocal enabledelayedexpansion
  41. set /p  account=請輸入210服務器帳號:
  42. if /i "!account!"=="Q" goto menu
  43. echo=
  44. echo 請輸入210服務器密碼:
  45. net use \\10.144.133.210\IPC$ /user:BUII-SM-SERVER\!account! 2>nul 1>nul
  46. cls
  47. goto noname
  48. )
复制代码

TOP

回复 2# forfiles


    不是呢~隨便哪個字母都會導致語句往下運行~

TOP

是不是只要密码中包含字母u就会遇到这个问题?

TOP

返回列表