Board logo

标题: [ 新手练习 3 ] 批处理简易密码登录 [打印本页]

作者: wxcute    时间: 2008-11-10 18:28     标题: [ 新手练习 3 ] 批处理简易密码登录

要求:首先设定一个密码如:123;
   然后等待输入密码;
   最后判断输入正确与否并显示提示,如密码正确显示:登录成功,错误则显示:密码不对。

目的:掌握 set /p 和 if 用法

评分:答对有分,第一个最高;答错不扣分;复制代码者扣分。

命令不熟悉可参考:
if 命令示例详解
http://bbs.bathome.net/thread-55-1-1.html
set命令入门训练
http://bbs.bathome.net/thread-461-1-1.html
上一题:[ 新手习题 2 ] 字符替换
http://bbs.bathome.net/thread-2462-1-1.html
下一题:[ 新手习题 4 ] 循环十秒倒计时
http://bbs.bathome.net/thread-2494-1-1.html

[ 本帖最后由 wxcute 于 2008-11-17 11:33 编辑 ]
作者: BBCC    时间: 2008-11-10 19:17

  1. @echo off
  2. set varPass=123&set /p varEnter=输入密码
  3. if "%varEnter%" equ "%varPass%" ( echo OK ) else ( echo No pass! )
  4. pause
复制代码

[ 本帖最后由 BBCC 于 2008-11-10 20:25 编辑 ]
作者: hlzj88    时间: 2008-11-10 19:28

set "var=123"
set /p "sss="请输入密码
if /i %sss% equ %var%&&echo 登录成功 || 密码不对
pause
试过了不对的,pause暂停不住,写到这里希望楼主能给斧正一下,问题所在
作者: BBCC    时间: 2008-11-10 19:31

| 密码不对
改改这里看看?
作者: pusofalse    时间: 2008-11-10 19:35     标题: 回复 3楼 的帖子

if /i %sss% equ %var%&&echo 登录成功 || 密码不对
你的代码实际执行到这句时就已经出错退出了。

if 的句式是:
if 条件 (条件成立要执行的命令) else (条件不成立时要执行的命令)
当然也可以用&&和||判断,但不会是你所写的那样。。。
另,当用户输入空值时也会出错。。。。 一个完整的参数要用""闭合。
作者: pusofalse    时间: 2008-11-10 19:38     标题: 回复 2楼 的帖子

建议重新编辑一下,出现了杂乱的代码。。。
另,pause命令不管真假总是要执行的,所以可以全部去掉放在下面。。。
作者: BBCC    时间: 2008-11-10 20:25

真奇怪,再编辑里没有看见乱码...
作者: wxcute    时间: 2008-11-10 20:31     标题: 回复 3 楼

set /p "sss="请输入密码
if /i %sss% equ %var%&&echo 登录成功 || 密码不对

一、set/p 引号滥用;
二、if 语句用法错误,请看顶楼参考部分。
作者: hlzj88    时间: 2008-11-10 20:41

  1. set "var=123"
  2. set /p sss=请输入密码
  3. if "%sss%" equ "%var%" (echo 登录成功) else (echo 密码不对)
  4. pause
复制代码
谢谢楼主,刚才管小孩学习,

set/p 引号滥用   不明白
上面的帖子是如何框起来的?

谢下面11楼

[ 本帖最后由 hlzj88 于 2008-11-10 21:30 编辑 ]
作者: Batcher    时间: 2008-11-10 20:57     标题: 回复 9楼 的帖子

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: pusofalse    时间: 2008-11-10 21:02     标题: 回复 9楼 的帖子

应该是半角的引号""  非全角“
作者: jellyhk    时间: 2008-11-11 00:26

  1. set pass=
  2. set pass=123&set /p pass=
  3. if "%pass%"=="123" (echo 登陆成功
  4. ) else (
  5. echo 失败)
  6. pause
复制代码

作者: nomyself    时间: 2008-11-11 19:31

  1. @echo off
  2. set a=123
  3. set /p b=请输入你的密码:
  4. if "%b%" equ "%a%" (echo wellcome! ) else (echo warring, password is erron!)
  5. pause
复制代码

作者: qingfengzhixia    时间: 2008-11-12 14:10

  1. @echo off
  2. set psw=123
  3. set /p var=请输入密码:
  4. if %var%==%psw% (echo 登录成功) else (echo 密码不对)
  5. pause >nul
复制代码

作者: chengyuan383    时间: 2008-11-12 18:26

  1. @echo off
  2. set a=123
  3. set /p b=请在此输入密码:
  4. if "%a%" equ "%b%" (echo 登陆成功) else (echo 密码错误)
  5. pause
复制代码

作者: akiraakito    时间: 2008-11-14 20:42

  1. @echo off
  2. set psw=123
  3. set /p input=enter password:
  4. if %input%==%psw% (echo right!) else (echo error!)
  5. pause>nul
复制代码

作者: sd6733531    时间: 2008-11-16 08:28

  1. @echo off
  2. echo -----------登陆器--------
  3. set password=123
  4. echo 请输入密码:
  5. set /p mypassword=
  6. ::echo %mypassword%
  7. if %mypassword% ==%password% (echo 密码正确) else echo 密码不对
  8. pause>nul
  9. 请楼主指示代码的问题。。
复制代码

[ 本帖最后由 sd6733531 于 2008-11-16 08:29 编辑 ]
作者: wxcute    时间: 2008-11-16 19:08     标题: 回复 17楼 的帖子

要说问题嘛,就是直接回车时会出错。
因为直接回车时%mypassword%是空的,即未定义,执行到 if 这句时就出错。

要改就加个引号:
if "%mypassword%" =="%password%"
作者: stalker    时间: 2008-11-18 11:06

看看我的=_=
  1. @echo off
  2. set /a flag=0
  3. :again
  4. if %flag% equ 3 echo "Malicious user!!!"&goto end
  5. set /p szEnter="请输入密码:"
  6. set /a flag = %flag% + 1
  7. if "%szEnter%" == "bathome" echo "Welcome!My master!"&goto end
  8. echo "密码错误!"
  9. goto again
  10. :end
  11. pause>nul
  12. exit
复制代码

[ 本帖最后由 stalker 于 2008-11-18 12:04 编辑 ]
作者: zzytyy1023    时间: 2008-11-18 13:22

@echo off
set password=123
set /p var=please input password:
if %var% equ %password% (echo pass!) else (echo wrong!)
pause
作者: h5599859    时间: 2008-11-25 15:01

@echo off
:kl
set /p b=请输入
if %b% equ 123 echo 密码输入正确
if not %b% equ 123 echo 密码输入错误请重新输入&ping -n 2 127.1>nul&cls&goto kl
pause
作者: firewolf85    时间: 2008-12-7 17:38

  1. @echo off
  2. set mm=1234
  3. :loop
  4. set /p var=请输入密码
  5. cls
  6. if %var%==%mm% (
  7. echo 密码正确
  8. ) else (
  9. echo 密码错误,请重新输入
  10. goto loop
  11. )
  12. pause>nul
复制代码
批处理安全性太差了,似乎不适合干这工作吧。

[ 本帖最后由 firewolf85 于 2008-12-7 17:42 编辑 ]
作者: qqha001    时间: 2008-12-12 10:38

  1. @echo off
  2. set a=123
  3. set /p b=请输入密码:
  4. if %b%==%a% (echo 密码正确) else (echo 密码错误)
  5. pause
复制代码


怎么弄成 代码 的样子呢?谢谢

[ 本帖最后由 qqha001 于 2008-12-12 11:29 编辑 ]
作者: steven007    时间: 2008-12-19 09:46

@echo off
color 1a &mode con cols=25 lines=10
set num=101
echo.
set /p a=  请输入密码:
if %a%==%num% (echo   登录成功) else (echo   密码不对)
echo   任意键退出!
pause>nul
作者: steven007    时间: 2008-12-19 10:06

限制最多尝试登录次数为3的密码检验登录:
@echo off
title Edit By steven007
color 1a &mode con cols=35 lines=10
echo ------------密码检验--------------
set i=3
:loop
set num=101
echo.
set /p a=   请输入密码:
if %a%==%num% (echo    登录成功) else (echo    密码不对 )
set /a i=%i%-1
if %i%==0 goto exit
echo    你还可以尝试%i%次!
goto loop
:exit
echo    累计三次输入错误,任意键退出!
pause>nul
作者: steven007    时间: 2008-12-19 10:20

楼上的代码在登录成功的情况下还继续执行loop循环,更新代码如下:
@echo off
title Edit By steven007
color 1a &mode con cols=35 lines=10
echo ------------密码检验--------------
set i=3
:loop
set num=101
echo.
set /p a=   请输入密码:
if %a%==%num% (echo    登录成功&goto right) else (echo    密码不对 )
set /a i=i-1
if %i%==0 goto exit
echo    你还可以尝试%i%次!
goto loop
:exit
echo    累计三次输入错误,任意键退出!
pause>nul
:right
pause>nul
作者: RiceFans    时间: 2008-12-22 23:04

代码如下:
@echo off
:start
set /p psw=请输入密码(三位):
if "%psw%" equ "123" (echo pass!) else (echo wrong,please input again!)
goto start

疑问:
1.如果先键入123,显示 pass,同时再跳到请输入密码:,此时我直接回车,也显示pass  (显然这是很危险的。)
2.所以如何屏蔽这种情况呢?  多谢指点!
作者: RiceFans    时间: 2008-12-22 23:07

@echo off
:start
set /p psw=请输入密码(三位):
if "%psw%" equ "123" (echo pass!) else (echo wrong,please input again!)
set "psw="
goto start

哈哈,不好意思,解决好了。来出来和大家分享一下。
让psw的变量置空值就行,可以规避以上问题。
作者: RiceFans    时间: 2008-12-23 12:11

引用wxcute 话:
在标签:start下加句[code]set psw=[code]就可以了,另:标签最好不用保留字,加个线_start或用其他如begin好些

谢谢。成功验证你的话!下次避免出现保留字,多谢提醒。同时让我明白了,原来前面加下划线的意义了。
作者: xiong8707    时间: 2008-12-27 12:49     标题: 这个是原创的,一个帖一个帖看下来没看到重复的!

@echo off
:kaishi
set /p a=要使用本程序需要先输入密码:
if "%a%"=="214968959" goto zhengque
echo 输入错误
pause>nul
goto kaishi
:zhengque
echo 输入正确
pause>nul
作者: xiong8707    时间: 2008-12-29 01:36     标题: 又写了一个,不过还不太熟练,高手多指点;

  1. @echo off
  2. color 1f&mode con cols=50 lines=3
  3. :kaishi
  4. cls
  5. if exist 1.sys (goto ok)
  6. set /p a1=请设置密码:
  7. if not defined a1 (goto nc)
  8. set /p a2=请再次输入:
  9. if not defined a2 (goto nc)
  10. if %a1% neq %a2% goto bu
  11. echo %a2% >1.sys
  12. attrib 1.sys +s +h
  13. cls
  14. echo 恭喜你,密码设置成功;
  15. pause>nul
  16. goto kaishi
  17. :ok
  18. cls
  19. set /P a3=请输入密码:
  20. for /f %%i in (1.sys) do set a4=%%i
  21. if "%a3%"=="%a4%" goto zhengque
  22. goto err
  23. pause>nul
  24. :zhengque
  25. cls
  26. echo 输入正确,你现在可以开始使用本程序了;
  27. set /p a5=请选择:“1”删除密码“2”使用本程序“3”退出程序
  28. if "%a5%"=="1" goto shanchu
  29. if "%a5%"=="2" goto shiyong
  30. if "%a5%"=="3" goto tuichu
  31. cls
  32. echo 无效操作;
  33. pause>nul
  34. goto zhengque
  35. :shiyong
  36. cls
  37. echo 程序使用完毕,现在退出;
  38. pause>nul
  39. :tuichu
  40. exit
  41. :nc
  42. cls
  43. echo 你没有输入任何字符,按任意键重新输入;
  44. pause
  45. goto kaishi
  46. :bu
  47. cls
  48. echo 你两次输入不一致,请重新输入;
  49. pause
  50. goto kaishi
  51. :err
  52. cls
  53. echo 你输入的密码错误,请重新输入;
  54. pause
  55. goto kaishi
  56. :shanchu
  57. cls
  58. del 1.sys /s /q /f /ah /as >nul
  59. echo 密码清除成功,按任意键可以重新设置密码;
  60. pause>nul
  61. goto kaishi
复制代码

作者: zhangenming    时间: 2009-1-27 20:09

  1. @echo off
  2. set 设定MM=123
  3. set /p 输入MM=请输入密码:
  4. if %输入MM%==%设定MM% (echo 正确) else echo 错误
  5. pause
复制代码

作者: hxinhu12315    时间: 2009-1-28 08:54

  1. @echo off
  2. set pwd=123
  3. set num=0
  4. :loop
  5. cls
  6. set /a num=%num%+1
  7. echo 你有3次输入机会
  8. if %num% gtr 3 (echo 三次输入错误,程序退出!&pause&exit)
  9. echo 第 %num% 次输入!
  10. set input=
  11. set /p input=请输入密码:
  12. if "%input%"=="" (echo 不能为空!&pause&goto loop)
  13. echo "%input%"|findstr "[!@#$%%^&*()+|\\=]" >nul 2>nul&&(echo 特殊字符&pause&goto loop)
  14. if not "%input%"=="%pwd%" (echo 错误!&pause&goto loop) else (echo 正确!&pause)
复制代码

作者: gobat    时间: 2009-1-28 13:57

有点晕哦~我倒~~~~~~
作者: guozhenshow    时间: 2009-2-4 23:42     标题: 回复 3楼 的帖子

:mima
set "var=123"
set /p "sss="请输入密码
if /i %sss% equ %var%&&echo 登录成功 || 密码不对
pause
goto mima

怎样不知道可以不
作者: strong12345    时间: 2009-2-5 12:06     标题: 小弟新手也來試試

  1. @echo off
  2. cls
  3. set /p password=請輸入新密碼:
  4. if defined password call :check
  5. echo 您沒有輸入密碼!
  6. pause>nul
  7. call %0
  8. :check
  9. cls
  10. set /p var_password=請輸入您的密碼:
  11. if %var_password% == %password% (
  12. echo 密碼輸入正確!!
  13. pause>nul
  14. echo 退出程式
  15. pause>nul
  16. exit) else (
  17. echo 密碼輸入錯誤! 請重新輸入密碼!
  18. pause>nul
  19. goto :check)
复制代码

[ 本帖最后由 strong12345 于 2009-2-5 12:08 编辑 ]
作者: denev2004    时间: 2009-2-5 13:47

楼上的if defined 什么意思?看不懂. . . .
作者: kingerpk    时间: 2009-2-5 14:50

  1. set mm=123
  2. set /p p=请输入密码:
  3. if "%p%"=="123" echo  登陆成功! else 登陆失败
  4. pause
复制代码

作者: kingerpk    时间: 2009-2-5 14:53

都大同小异啊!!!!!
作者: tpkilly    时间: 2009-2-5 15:08

  1. @echo off
  2. :1
  3. cls
  4. set /p m=请输入密码:
  5. if %m%==123 (echo 登陆成功) else echo 密码不对&pause&goto 1
  6. pause
复制代码

[ 本帖最后由 tpkilly 于 2009-2-5 15:10 编辑 ]
作者: aresk    时间: 2009-2-12 20:47

  1. @echo off
  2. set /p pword="please input password: "
  3. if "%pword%"=="123" goto ok
  4. echo wrong;
  5. pause&exit
  6. :ok
  7. echo ok!
  8. pause>Nul
  9. exit
复制代码

作者: lidan113lidan    时间: 2009-2-12 22:00

@echo off
set /p s= please input s:
if %s% == 123  msg %username% /time:10  successful landing ! &pause&exit
msg %username% /time:10 failed landing &pause
作者: sihui11    时间: 2009-2-13 11:09

  1. set pass=123
  2. set /p login=请输入你的登陆密码:
  3. if %pass%==%login% (echo ok) else (echo no)
复制代码

作者: hq624517491    时间: 2009-2-14 04:40

:0
@echo off
@echo.
@echo ===========登陆系统===========
@echo.
@echo.
@echo.
@echo 请输入正确的密码登陆系统
set /p a=
if %a%==admin goto 1
if not %a%==admin goto 2

:1
@echo 登陆成功
@echo 3秒后自动退出
@ping 127.1 -n 5 >nul
exit


:2
@echo 密码不对,请重新输入
@ping 127.1 -n 2 >nul

goto 0
作者: irresolute    时间: 2009-2-15 18:12     标题: 我来试下

@echo off
set /a aa=123
:main
set /p bb=请输入password:
if %aa% neq %bb% (
echo 密码错误!
goto :main) else (
echo 密码正确)
pause>nul
作者: dodoro    时间: 2009-2-20 11:02

@echo off
:start
set /p a=请输入密码:
if %a%==123 (echo 登陆成功) else (echo 密码错误!&goto:start)
pause
作者: TonyW    时间: 2009-2-22 15:29

  1. @echo off
  2. set /p i=:
  3. if %i%==123 (echo 正确) else (echo 错误)
  4. pause
复制代码

作者: haolongo    时间: 2009-2-25 23:54

支持,辛苦了,我来学习学习。
作者: keen    时间: 2009-2-26 10:27

@echo off

set /a password=123
set /p pd=   请输入密码:
echo.
if %pd%==%password% echo       密码正确!&echo.&pause &exit
echo         密码错误!
echo.
pause
作者: xin26463825    时间: 2009-3-16 10:12

set /p n=123
IF errorlevel=0 echo 登录成功 else echo登录失败
作者: xin26463825    时间: 2009-3-16 10:20     标题: 你好啊

我刚才发的那一个是错误的,其实是这个的@echo off
set /p n=请输入密码:
IF "%n%"=="123" echo 登录成功
IF not "%n%"=="123" echo 登录失败
pause
作者: Batcher    时间: 2009-3-16 17:05     标题: 回复 52楼 的帖子

用if...else...可提高效率
  1. @echo off
  2. set /p n=请输入密码:
  3. IF "%n%"=="123" (
  4.   echo 登录成功
  5. ) else (
  6.   echo 登录失败
  7. )
  8. pause
复制代码

作者: xeqxerxes    时间: 2009-3-17 13:04

@echo off
set /p s=请输入密码
if /i "%s%"=="这里是密码" goto next
echo 密码错误
pause
exit
:next
pause
作者: hyx    时间: 2009-3-18 13:24

@echo off
set a=123
:end
set /p b=请输入密码:
if %a%==%b% (echo 登录成功) else echo 密码不对&goto end
pause >nul
作者: wangjmh    时间: 2009-3-20 00:17

@echo off
:1
set /p a=请输入密码:
if %a%==123 goto :right
else goto :wrong
:right
echo 密码正确
     pause
:wrong
echo 密码错误,请重新输入
goto :1



这是我写的第一个批处理,当输入错误的密码时提示ELSE不是内部或外部命令,指楼主指教
作者: Batcher    时间: 2009-3-20 11:41     标题: 回复 56楼 的帖子

因为你的if...else...语法错了,可以自己先看看帮助里面是怎么写的。
if /?
作者: stuqx    时间: 2009-3-20 20:35

  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set /a pass=123
  3. set /a cou=1
  4. :enter
  5. set /p enpass=输入密码:
  6. if "%enpass%"=="%pass%" (echo 密码正确&pause>nul) else (
  7.         echo 密码错误,重新输入。只有三次机会。
  8.         set /a cou+=1
  9.         if %cou% equ 3 (
  10.                 echo 三次都错了,game over!&pause>nul
  11.   goto :eof
  12.                 ) else (goto :enter)
  13. )
复制代码



好了  这下都对了

[ 本帖最后由 stuqx 于 2009-3-27 16:32 编辑 ]
作者: Lumiere    时间: 2009-3-23 20:09     标题: 练习

  1. @echo off
  2. set code=123
  3. set /p key=Please input the keycode:
  4. if %key% equ %code% (echo Welcome!) else echo Invalid keycode!
  5. pause
复制代码

作者: rboert    时间: 2009-3-25 10:46

  1. @echo off
  2. :cy
  3. set /p a=请输入密码:
  4. if /i %a%==123 (echo 密码正确:登陆成功&pause >nul) else echo 密码不对&goto cy
复制代码

作者: cainiao736    时间: 2009-3-26 21:57

  1. @echo off
  2. set /p str=请设定密码:
  3. set /p a=请输入密码:
  4. if %str%==%a% (echo 密码正确) else (echo 密码错误)
  5. pause
复制代码

[ 本帖最后由 cainiao736 于 2009-3-26 22:01 编辑 ]
作者: cocolee    时间: 2009-3-27 20:09     标题: 回复 1楼 的帖子

怎么这么繁杂,有没有好方法快速学会P处理!
作者: Batcher    时间: 2009-3-27 20:17     标题: 回复 62楼 的帖子

多看,多想,多写。
少灌水。
作者: rat    时间: 2009-3-29 20:14

  1. @echo off & setlocal
  2. set /p PwdInput=Plz input:
  3. 1>nul 2<&1 set PwdInput || (echo No & goto:eof)
  4. set PwdDefined=123
  5. set %PwdInput%=1
  6. set %PwdDefined%=
  7. 1>nul 2<&1 set %PwdInput% && echo No || echo Yes
复制代码

作者: energy2009    时间: 2009-4-9 21:24

  1. @echo off
  2. set password=123
  3. set /p a=请输入三位数密码:
  4. if %a% equ %password% (echo ....登陆成功!)else echo ....登陆失败!
  5. ping -n 2 127.1>nul 2>nul&exit
复制代码

作者: yangyuankui    时间: 2009-4-20 15:23     标题: result

@echo off
set password=123
echo wait for your press password
set /p a=
if %a% equ 123 ( echo password is correct please wait for login) else (echo password is incorrect please restart)
pause
作者: kingaidai    时间: 2009-4-20 17:17     标题: 回复 1楼 的帖子

@echo off
:start
cls
set "var=123"
set /p "sss=请输入密码"
if /i %sss% equ %var% (echo 登录成功)

else (echo 密码不对&echo 按任意键继续

&pause>nul&goto start)
pause
作者: 神羅    时间: 2009-4-20 22:34

  1. @echo off
  2. set passworda=123
  3. :a
  4. set /p passwordb=请输入密码:
  5. if %passwordb%==%passworda% then goto b
  6. echo 密码错误!
  7. goto a
  8. :b
  9. echo 登陆成功!
复制代码

[ 本帖最后由 神羅 于 2009-4-23 09:53 编辑 ]
作者: luo603294    时间: 2009-4-21 11:39

@echo off
echo ----------请输入登录密码-----------
:test
set/a login=123
set /p password=
if %login%==%password% ( echo 密码正确 &pause&exit) else goto testno
:testno
echo 密码不正确请重新输入
goto test
pause
第1次 发帖子 感激ing
作者: johnson3333    时间: 2009-6-30 11:25

  1. ::要求:首先设定一个密码如:123;
  2. ::   然后等待输入密码;
  3. ::   最后判断输入正确与否并显示提示,如密码正确显示:登录成功,错误则显示:密码不对。
  4. @echo off
  5. set  var1=123
  6. set /p var2=请输入密码:
  7. if %var1% equ %var2% (echo;密码正确登录成功) else (echo;密码不对)
  8. pause
复制代码

作者: sampeck    时间: 2009-7-1 16:39

要是加变量就更完美了,那样可以修改密码,先设置初始密码.

[ 本帖最后由 sampeck 于 2009-7-1 16:41 编辑 ]
作者: keen    时间: 2009-7-1 16:58     标题: 回复 71楼 的帖子

怎么个加变量法,前面的代码中有用到变量呀。
作者: yinsigan    时间: 2009-7-6 20:47

@echo off
set /p a=请输入密码:
if %a% == 123 (echo 登录成功) else echo 密码不对
pause
作者: czl1378    时间: 2009-7-6 21:12

@echo off
set mm=123
:loop
cls
set /p pass=请输入密码:
if %pass% equ %mm% (cls&echo 密码正确!&pause>nul&exit) else (
cls
echo 密码错误!
pause>nul
goto loop
)
作者: canyuexiaolang    时间: 2009-8-8 15:26

  1. @echo off
  2. :c
  3. cls
  4. set b=1234
  5. set /p a=请输入密码:
  6. if "%a%"=="%b%" echo 密码正确&pause>nul&goto j else (
  7.                 echo 密码错误&pause>nul
  8.                 goto :c
  9. )
  10. :j
复制代码

[ 本帖最后由 canyuexiaolang 于 2009-8-28 12:32 编辑 ]
作者: 蜗牛    时间: 2009-8-8 20:58

这几天刚开始学批处理,看到这些题目真晕啊,完全无从下手
作者: hs4814    时间: 2009-8-9 19:25

  1. @echo off
  2. set a=123
  3. set /p b=等待输入密码:
  4. if %b% equ %a% ( echo 登录成功 ) else ( echo 密码不对 )
  5. pause>nul
复制代码

[ 本帖最后由 hs4814 于 2009-8-18 15:03 编辑 ]
作者: wayaoqiang    时间: 2009-8-12 17:01

  1. @echo off
  2. set mm=123
  3. :a
  4. set /p nn=请输入密码:
  5. if %mm% equ %nn% (echo 密码正确,成功登陆&goto b) else (echo 密码错误,请重新输入&goto a)
  6. :b
  7. 其它代码......
复制代码

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:04 编辑 ]
作者: januapr    时间: 2009-8-13 08:22

我也来练习一下,呵呵
  1. @echo off
  2. :bgn
  3. set a=123
  4. set /p b=请输入正确的密码:
  5. if "%b%" == "%a%" (echo 密码正确,正常登陆!
  6. ) else (
  7.   echo 密码不对!请重新输入!
  8.   goto bgn   
  9. )
  10. pause
复制代码

作者: hanleihl    时间: 2009-8-14 23:22

@echo off
set a=123
set /p b=请输入密码:
if %b%==%a% (echo 密码正确,登陆成功。) else echo 密码错误
pause>nul
作者: Hysteria    时间: 2009-8-15 05:00

@echo off
set /p key=请输入密码:
if %key% equ 123 (echo 登陆成功) else (echo 密码错误)
pause>nul
额~~~~~~~~~~
作者: couth    时间: 2009-8-18 16:29

@echo off
set passwd=123
set /p aa=请输入你的密码:
if "%passwd%"=="%aa%" (
echo 登录成功。
) else (
echo 密码不对。
)
pause


这个应该是可以的。
作者: atsivsucks    时间: 2009-8-18 23:12

  1. @echo off
  2. set pass=123
  3. set /p input=
  4. if "%input%"=="%pass%" (
  5.         echo 登录成功
  6. ) else (
  7.         echo 密码不对
  8. )
  9. pause
复制代码

[ 本帖最后由 atsivsucks 于 2009-8-19 08:54 编辑 ]
作者: jiayaoqin    时间: 2009-8-22 10:14

@echo off
:im
set ver=123
set /p asd=请输入密码:
if %asd%==%ver% (echo 登陆成功) else echo 密码不对
goto im
作者: cs19860814    时间: 2009-8-22 15:02

@echo off
:设置密码
set str=123 & set /p var=请输入密码:
echo %var%
:判断密码
if %str%==%var% (echo 登陆成功!!!) else (密码错误!!!)
pause>nul
作者: wangshuping42    时间: 2009-8-22 18:57

  1. @echo off
  2. set pwd=123
  3. set /p a=Please input your password!
  4. if %a% equ %pwd% (echo Right ! &pause>nul) else echo Wrong ! &pause>nul
复制代码

[ 本帖最后由 wangshuping42 于 2009-8-29 19:40 编辑 ]
作者: silence    时间: 2009-8-27 18:35

@echo off
:0
echo 密码登陆系统
echo what are you want to do ?
echo 1 -- 登陆     2 -- 设定密码 9 --退出
set /p sr=请选择:
if %sr%==1 goto 1
if %sr%==2 goto 2
if %sr%==9 goto end
echo 请正确输入
goto 0
:1
cls
if not exist mima.txt goto 12
set /p m=请输入密码:
for /f %%i in (mima.txt) do (set mima=%%i)
if %m%==%mima% echo pass
if not %m%==%mima% echo 密码错误
pause
if not %m%==%mima% goto 1
echo --------
echo .......
echo .......
echo .......
echo ::登陆后的事情..........
echo ......
echo ......
echo 任意键退出
pause >nul
exit
:12
echo 你未设置密码
echo 你未设置密码
echo 你未设置密码
echo 你未设置密码
echo 你未设置密码
goto 0
:2
cls
if not exist mima.txt goto 21
echo 请输入原密码
set /p h=
for /f %%i in (mima.txt) do (set mima=%%i)
if not %h%==%mima% echo 密码戳无
pause
if not %h%==%mima% goto 2
:21
set /p x=请输入新密码:
set /p y=请确认密码:
if not %x%==%y% echo 两次输入不一致,请重新设定
pause
if not %x%==%y% goto 2
attrib -h -s -r mima.txt >nul
echo %x%>mima.txt
attrib +h +s +r mima.txt
echo 设定成功,任意键返回..
pause >nul
goto 0
:end
exit
自认为这个还可以 解决了重启密码会清空的问题
但代码有很多冗余的的地方
我本想给密码一个加密的算法一提高安全性 但不知道怎么弄

[ 本帖最后由 silence 于 2009-8-28 17:51 编辑 ]
作者: canyuexiaolang    时间: 2009-8-28 12:20

我写BAT在IF中很少用ELSE
算坏习惯吗
作者: silence    时间: 2009-8-28 17:53     标题: 回复 88楼 的帖子

多写一行罢了
应该不算
作者: yhd316    时间: 2009-8-29 22:07     标题: o(∩_∩)o 哈哈

@echo off
set pass=316&set /p key=password:
if %key% equ %pass% (echo welcome! ) else (echo warrong!)
pause>nul

[ 本帖最后由 yhd316 于 2009-8-29 22:11 编辑 ]
作者: dominater    时间: 2009-10-12 23:45

  1. @echo off
  2. set /a code=123 count=3
  3. :begin
  4. set /p temp=请输入密码:
  5. if %temp%=%code% echo 欢迎您,登录成功!
  6. else (echo 密码错误!请重新输入...您还有%count%次机会
  7. count-=1
  8. goto begin)
  9. pause
复制代码

[ 本帖最后由 dominater 于 2009-10-12 23:46 编辑 ]
作者: huangyandong    时间: 2009-10-13 11:03     标题: 密码登陆器

@echo off
title 密码登陆器
:h
set /p q=输入密码
if %q% equ 123 (echo 成功登陆) else echo 登陆失败&&goto h
pause
作者: pumahxh    时间: 2009-10-24 14:29

  1. @echo off
  2. set /p var1=请设置密码:
  3. set /p var2=请输入密码:
  4. if "%var1%"=="%var2%" (echo 登录成功) else echo 密码不对
  5. pause
复制代码

作者: ghostwar    时间: 2009-10-25 06:31

@echo off
set "war=198989"
set/p "aaa=请输入密码"
if  "%aaa%" equ " war" echo (登陆成功!)else (登陆失败!)
pause
作者: zcydez    时间: 2009-10-31 14:18

我的代码点“编辑”的时候看不出密码的
密码是123,而点“编辑”后看到的密码是240
  1. @echo off
  2. set a=240
  3. set /a b=%a%+6
  4. set /a c=%b%/2
  5. set /p d=
  6. if %d% equ %c% goto a
  7. if %d% neq %c% goto b
  8. :a
  9. echo 登录成功 & pause
  10. exit
  11. :b
  12. echo 密码不对 & pause
复制代码

作者: zgq0301    时间: 2009-11-11 13:58

@echo off
set pass=123
:begin
set /p var=请输入密码
if "%var%"=="%pass%" (
    echo 密码正确 ) else (
    echo 密码错误,请重新输入
    goto begin
   )
pause
作者: bamboo    时间: 2009-11-20 15:15

  1. @echo off
  2. set psw=bathome
  3. set /p input=请输入密码:
  4. if %input%==%psw% (echo 登录成功!) else (echo 密码不对!)
  5. echo    按任意键退出!
  6. pause>nul
复制代码

作者: tevktev    时间: 2009-11-20 18:27

  1. @echo off
  2. set pass=123
  3. :again
  4. set /p enter=请输入密码:
  5. set /a sum+=1
  6. if "%sum%" equ "3" echo 错误次数太多,禁止登陆&pause>nul&goto: eof
  7. if "%pass%"=="%enter%" (echo 登陆成功&pause&goto: eof ) else (echo 密码错误&goto :again)
  8. pause
复制代码

作者: jcy0307    时间: 2009-11-20 19:30     标题: 回复 1楼 的帖子

  1. @echo off
  2. color 2f
  3. title 登陆
  4. :loop
  5. cls
  6. set a="123"
  7. set/p a=请输入密码:
  8. if "%a%"=="123" cls && echo 登陆成功 && pause>nul && goto ****
  9. if not "%a%"=="123" cls && echo 密码错误,请重新登陆!&& pause>nul && goto loop
复制代码

[ 本帖最后由 jcy0307 于 2010-1-29 22:12 编辑 ]
作者: rwxyxy    时间: 2009-11-21 14:03

  1. @echo off
  2. set "pwd=123"
  3. :loop
  4. set /p in=请输入密码:
  5. if "%pwd%" EQU "%in%" (echo 登录成功) else (echo 密码不对&goto loop)
复制代码

作者: feidian1028    时间: 2009-11-25 15:46

  1. @ echo off
  2. set pass=123
  3. set /p var=请输入密码:
  4. if %pass%==%var% (echo 正确!) else echo 错误!
  5. pause>nul
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2