标题: 【求助】关于密码
[打印本页]
作者: c442409110
时间: 2008-5-30 14:32
标题: 【求助】关于密码
刚接触批处,想用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
作者: pusofalse
时间: 2008-5-30 14:39
你都if %password%==123 了。。还用if errorlevel 干什么?
if %password%==123 (echo 密码正确) else echo 密码错误
pause
作者: bat-zw
时间: 2008-5-30 16:41
标题: 我来讲两句:
&&errorlevel是运行命令时cmd所返回的值,一般都是以0代表为真(执行成功),以1代
表为非(执行不成功),有的还有以2代表出现名错误。下面举个实例说明一下:
@echo off
echo abcd>a.txt&echo 1234>b.txt
echo find "abcd" a.txt
find "abcd" a.txt>nul
echo errorlevel:%errorlevel%
echo.
echo find "abcd" b.txt
find "abcd" b.txt>nul
echo errorlevel:%errorlevel%
pause>nul&del /q a.txt b.txt
[
Last edited by zw19750516 on 2008-5-30 at 04:46 PM ]
作者: bat-zw
时间: 2008-5-30 16:54
Quote: |
Originally posted by c442409110 at 2008-5-30 14:32:
刚接触批处,想用errorlevel实现判断密码正确还是错误,其他没什么问题,运行后不输入直接按回车会输出密码正确.请问哪里错了?谢谢
@echo off
:1
... |
|
如楼主真的要用errorlevel来判断,可以这样写(实际上不提倡这样):
@echo off
set /p password=请输入密码:
echo %password%|findstr "1234">nul
if errorlevel 1 (echo 密码错误!) else (echo 密码正确!)
pause>nul
作者: wangzenggogo
时间: 2008-5-30 20:40
这个还可一
作者: c442409110
时间: 2008-5-30 22:22
zw19750516
谢谢你的回答
但是如果输入密码是12345,123456,照样显示密码正确
作者: 26933062
时间: 2008-5-30 22:29
2 楼已经说的很清楚了,你还要怎样?
若是非要用errorlevel来解决的话,简直是费力不讨好。
如下就可以了,完全匹配。
@echo off
set /p password=请输入密码:
echo %password%|findstr /ix "1234">nul
if errorlevel 1 (echo 密码错误!) else (echo 密码正确!)
pause>nul
作者: driver1998
时间: 2008-6-22 17:20
这是我改过的:
@echo off
cls
:1
set /p key=请输入密码:
if /i '%key%'=='1234' GOTO ok
goto nok
:ok
echo 密码正确!
goto 2
:nok
echo 密码不正确!
goto 1
作者: knoppix7
时间: 2008-6-22 18:27
可是密码很容易...
比如4楼的代码.
密码处写
" off&call type "%~0" &set "
然后......