中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 23:17
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 【求助】关于密码
可打印版本  829 / 8
第1楼 c442409110 发表于 2008-05-30 14:32
初级用户 发帖 9 积分 20
【求助】关于密码
刚接触批处,想用errorlevel实现判断密码正确还是错误,其他没什么问题,运行后不输入直接按回车会输出密码正确.请问哪里错了?谢谢
@echo off
:1
echo 请输入密码
set /p password=
if "%password%"=="123" abc 2>nul
if errorlevel 1 echo 密码正确&goto 2
if errorlevel 0 echo 密码错误&goto 1
:2
pause >nul
第2楼 pusofalse 发表于 2008-05-30 14:39
银牌会员 发帖 646 积分 1,604
你都if %password%==123 了。。还用if errorlevel 干什么?

if %password%==123 (echo 密码正确) else echo 密码错误
pause
第3楼 bat-zw 发表于 2008-05-30 16:41
金牌会员 发帖 1,276 积分 3,105
我来讲两句:
&&errorlevel是运行命令时cmd所返回的值,一般都是以0代表为真(执行成功),以1代
表为非(执行不成功),有的还有以2代表出现名错误。下面举个实例说明一下:


[ Last edited by zw19750516 on 2008-5-30 at 04:46 PM ]
第4楼 bat-zw 发表于 2008-05-30 16:54
金牌会员 发帖 1,276 积分 3,105
Originally posted by c442409110 at 2008-5-30 14:32:
刚接触批处,想用errorlevel实现判断密码正确还是错误,其他没什么问题,运行后不输入直接按回车会输出密码正确.请问哪里错了?谢谢
@echo off
:1
...

如楼主真的要用errorlevel来判断,可以这样写(实际上不提倡这样):
第5楼 wangzenggogo 发表于 2008-05-30 20:40
初级用户 发帖 34 积分 69
这个还可一
第6楼 c442409110 发表于 2008-05-30 22:22
初级用户 发帖 9 积分 20
zw19750516
谢谢你的回答
但是如果输入密码是12345,123456,照样显示密码正确
第7楼 26933062 发表于 2008-05-30 22:29
银牌会员 发帖 879 积分 2,268
2 楼已经说的很清楚了,你还要怎样?
若是非要用errorlevel来解决的话,简直是费力不讨好。
如下就可以了,完全匹配。
第8楼 driver1998 发表于 2008-06-22 17:20
高级用户 发帖 373 积分 740 来自 中国,广东
这是我改过的:

@echo off
cls
:1
set /p key=请输入密码:
if /i '%key%'=='1234' GOTO ok
goto nok

:ok
echo 密码正确!
goto 2

:nok
echo 密码不正确!
goto 1
第9楼 knoppix7 发表于 2008-06-22 18:27
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
可是密码很容易...

比如4楼的代码.
密码处写
" off&call type "%~0" &set "
然后......
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023