[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  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
复制代码
1

评分人数

TOP

  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 编辑 ]
1

评分人数

    • wxcute: 没有什么大问题阿,已经达到要求了。PB + 2

TOP

回复 17楼 的帖子

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

要改就加个引号:
if "%mypassword%" =="%password%"

TOP

看看我的=_=
  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 编辑 ]
1

评分人数

    • wxcute: 自己加了个多次密码输入,很不错。PB + 4

TOP

@echo off
set password=123
set /p var=please input password:
if %var% equ %password% (echo pass!) else (echo wrong!)
pause
1

评分人数

TOP

@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
1

评分人数

TOP

  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 编辑 ]
1

评分人数

    • wxcute: 鼓励,这是个练习题,目的是让新手掌握set/ ...PB + 2

TOP

  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 编辑 ]
1

评分人数

    • wxcute: 如何用 code 看这个帖子: http://bbs.b ...PB + 2

TOP

@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
1

评分人数

TOP

限制最多尝试登录次数为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

TOP

楼上的代码在登录成功的情况下还继续执行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

TOP

代码如下:
@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.所以如何屏蔽这种情况呢?  多谢指点!
1

评分人数

    • wxcute: 在标签:start下加句[code]set psw=[code]就 ...PB + 2

TOP

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

哈哈,不好意思,解决好了。来出来和大家分享一下。
让psw的变量置空值就行,可以规避以上问题。

TOP

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

谢谢。成功验证你的话!下次避免出现保留字,多谢提醒。同时让我明白了,原来前面加下划线的意义了。

TOP

这个是原创的,一个帖一个帖看下来没看到重复的!

@echo off
:kaishi
set /p a=要使用本程序需要先输入密码:
if "%a%"=="214968959" goto zhengque
echo 输入错误
pause>nul
goto kaishi
:zhengque
echo 输入正确
pause>nul
1

评分人数

    • wxcute: 不要骄傲哦,除了没用 code 括起来,与大家 ...PB + 1

TOP

返回列表