标题: [网络连接] [已解决]登陆文件共享服务器BAT代码加上前缀为何出问题? [打印本页]
作者: gobi918 时间: 2012-8-8 08:00 标题: [已解决]登陆文件共享服务器BAT代码加上前缀为何出问题?
本帖最后由 gobi918 于 2012-8-14 10:37 编辑
代码如下,是我做的一个工具中需要调用服务器资源的时候call的登陆模块:
call :ftplogon
......
......- rem ============210登陸代碼=================
- :Ftplogon
- cls
- title ※10.144.133.210服務器智能登陸※
- mode con cols=45 lines=12
- :Noname
- cls
- echo 正在驗證登陸身份...
- echo=
- set error=
- echo y|net use \\10.144.133.210 2>nul 1>nul
- set error=%errorlevel%
- if "%error%" EQU "0" cls & goto :eof
- if "%error%" EQU "2" goto logon
-
- :logon
- cls
- echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
- echo=
- echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
- echo=
- net use \\10.144.133.210\IPC$ /del /Y 1>nul 2>nul
- net use \\10.144.133.210\setup /del /Y 1>nul 2>NUL
- set account=
- set /p account=請輸入210服務器帳號:
- if /i "%account%"=="Q" goto menu
- echo=
- echo 請輸入210服務器密碼:
- net use \\10.144.133.210 /user:"BUII-SM-SERVER\%account%" >nul
- 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% 即可;
但是不加远程计算机名前缀又可能出现无法识别用戶名的情況~
恳请高手分析一下加了前缀为啥会出现以上问题??
作者: forfiles 时间: 2012-8-10 11:13
是不是只要密码中包含字母u就会遇到这个问题?
作者: gobi918 时间: 2012-8-13 12:25
回复 2# forfiles
不是呢~隨便哪個字母都會導致語句往下運行~
作者: gobi918 时间: 2012-8-14 07:48
没有大大见过这样的杂症,只好凑合解决问题了:
设定前三次使用不加共享服务器前缀的登陆方式,若第三次依然未成功则转到加前缀的登录方式。
代码如下:- :Ftplogon
- cls
- title ※10.144.133.210服務器智能登陸※
- mode con cols=45 lines=12
- set p=0
- :Noname
- echo 正在驗證登陸身份......
- echo=
- set error=
- echo y|net use \\10.144.133.210 2>nul 1>nul
- set error=%errorlevel%
- if "%error%" EQU "0" cls & goto :eof
- if "%error%" EQU "2" goto logon
- echo=
- echo 連接失敗!請嘗試手動登入210!
- pause>nul
- goto :eof
-
- :logon
- CLS
- set p+=1
- if %p% LEQ 3 (
- echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
- echo=
- echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
- echo=
- set account=
- setlocal enabledelayedexpansion
- set /p account=請輸入210服務器帳號:
- if /i "!account!"=="Q" goto menu
- echo=
- echo 請輸入210服務器密碼:
- net use \\10.144.133.210\IPC$ /user:!account! 2>nul 1>nul
- cls
- goto noname ) else (
-
- echo 無法匿名登錄或密碼錯誤,請手動輸入帳號密碼!
- echo=
- echo=溫馨提示:輸入 Q 可取消登錄并返回主菜單...
- echo=
- set account=
- setlocal enabledelayedexpansion
- set /p account=請輸入210服務器帳號:
- if /i "!account!"=="Q" goto menu
- echo=
- echo 請輸入210服務器密碼:
- net use \\10.144.133.210\IPC$ /user:BUII-SM-SERVER\!account! 2>nul 1>nul
- cls
- goto noname
- )
复制代码
作者: gobi918 时间: 2012-8-14 10:45
希望有大大彻底解决这个问题~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |