用BAT脚本访问网络共享怎样判断用户输入的账户密码成功或失败?

@echooffcolor3ftitle服务器共享登陆脚本setuser=setpd=set/puser=请输入您的帐号:set/ppd=请输入您的密码:echo登陆中,... @echo off
color 3f
title 服务器共享登陆脚本
set user=
set pd=
set /p user=请输入您的帐号:
set /p pd=请输入您的密码:
echo 登陆中,请稍候...
net use \\server\share %pd% /user:%user%
echo 登陆成功,任意键打开个人目录....
pause>NUL
start “\\server\share\%user%”
exit
---------------------
如上,现想加入可以判断的功能,当登陆成功继续执行下一步命令,不成功时用ECHO显示登陆失败并转到(GOTO)重新输用户名密码的那一步。谢谢。
展开
 我来答
浮生难忆
推荐于2016-08-30 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:689万
展开全部
使用返回值%errorlevel%即可判断,如果成功%errorlevel%=0,反之就失败。
使用举例:
@echo off
color 3f
title 服务器共享登陆脚本
:start
cls
set user=
set pd=
set /p user=请输入您的帐号:
set /p pd=请输入您的密码:
echo 登陆中,请稍候...
net use \\server\share %pd% /user:%user%
if "%errorlevel%"==0 goto goon
if "%errorlevel%"==2 echo 登陆失败,任意键重新登陆...&pause>nul & goto start
goto start

:goon
echo 登陆成功,任意键打开个人目录....
pause>NUL
start “\\server\share\%user%”
exit
追问
好像不行耶,用你上面的来测试无论登陆失败或成功都会跳转到GOON这步显示登陆成功,我也看了,账号密码验证失败的错误返回码确实是2,成功的返回码是0,照理应该是可以的,但我怎么测试都是跳转到GOON了。。。
追答
呵呵,其实猜到了,我在公司也做了一个类似的批处理,一样的有Bug,怎么弄都不行的,那个返回值判断不起作用,很纳闷。
个人建议你采用更灵活的方法,我现在就是使用了这个办法:
直接使用 net use \\server 或者
set user=
set /p user=请输入用户名:
net use \\server /user:%user%
=================
net use \\server执行后将会出现:
\\server使用者密码不符合什么什么。。。
请输入\\server的用户名:
请输入\\server的密码:
而且这里输入的密码是加密的,不会回显,个人密码更安全。

参考资料: http://zhidao.baidu.com/question/418574446.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hydonlee
2012-05-03 · TA获得超过590个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:436万
展开全部
你可以用%errorlevel%

net use \\server\share %pd% /user:%user%
if not %errorlevel% 0 goto bad
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式