标题: [ 新手练习 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
[ 本帖最后由 wxcute 于 2008-11-17 11:33 编辑 ]
作者: BBCC 时间: 2008-11-10 19:17
- @echo off
- set varPass=123&set /p varEnter=输入密码
- if "%varEnter%" equ "%varPass%" ( echo OK ) else ( echo No pass! )
- 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
- set "var=123"
- set /p sss=请输入密码
- if "%sss%" equ "%var%" (echo 登录成功) else (echo 密码不对)
- 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
- set pass=
- set pass=123&set /p pass=
- if "%pass%"=="123" (echo 登陆成功
- ) else (
- echo 失败)
- pause
复制代码
作者: nomyself 时间: 2008-11-11 19:31
- @echo off
- set a=123
- set /p b=请输入你的密码:
- if "%b%" equ "%a%" (echo wellcome! ) else (echo warring, password is erron!)
- pause
复制代码
作者: qingfengzhixia 时间: 2008-11-12 14:10
- @echo off
- set psw=123
- set /p var=请输入密码:
- if %var%==%psw% (echo 登录成功) else (echo 密码不对)
- pause >nul
复制代码
作者: chengyuan383 时间: 2008-11-12 18:26
- @echo off
- set a=123
- set /p b=请在此输入密码:
- if "%a%" equ "%b%" (echo 登陆成功) else (echo 密码错误)
- pause
复制代码
作者: akiraakito 时间: 2008-11-14 20:42
- @echo off
- set psw=123
- set /p input=enter password:
- if %input%==%psw% (echo right!) else (echo error!)
- pause>nul
复制代码
作者: sd6733531 时间: 2008-11-16 08:28
- @echo off
- echo -----------登陆器--------
- set password=123
- echo 请输入密码:
- set /p mypassword=
- ::echo %mypassword%
- if %mypassword% ==%password% (echo 密码正确) else echo 密码不对
- pause>nul
-
- 请楼主指示代码的问题。。
复制代码
[ 本帖最后由 sd6733531 于 2008-11-16 08:29 编辑 ]
作者: wxcute 时间: 2008-11-16 19:08 标题: 回复 17楼 的帖子
要说问题嘛,就是直接回车时会出错。
因为直接回车时%mypassword%是空的,即未定义,执行到 if 这句时就出错。
要改就加个引号:
if "%mypassword%" =="%password%"
作者: stalker 时间: 2008-11-18 11:06
看看我的=_=
- @echo off
- set /a flag=0
- :again
- if %flag% equ 3 echo "Malicious user!!!"&goto end
- set /p szEnter="请输入密码:"
- set /a flag = %flag% + 1
- if "%szEnter%" == "bathome" echo "Welcome!My master!"&goto end
- echo "密码错误!"
- goto again
- :end
- pause>nul
- 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
- @echo off
- set mm=1234
- :loop
- set /p var=请输入密码
- cls
- if %var%==%mm% (
- echo 密码正确
- ) else (
- echo 密码错误,请重新输入
- goto loop
- )
- pause>nul
复制代码
批处理安全性太差了,似乎不适合干这工作吧。
[ 本帖最后由 firewolf85 于 2008-12-7 17:42 编辑 ]
作者: qqha001 时间: 2008-12-12 10:38
- @echo off
- set a=123
- set /p b=请输入密码:
- if %b%==%a% (echo 密码正确) else (echo 密码错误)
- 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 标题: 又写了一个,不过还不太熟练,高手多指点;
- @echo off
- color 1f&mode con cols=50 lines=3
- :kaishi
- cls
- if exist 1.sys (goto ok)
- set /p a1=请设置密码:
- if not defined a1 (goto nc)
- set /p a2=请再次输入:
- if not defined a2 (goto nc)
- if %a1% neq %a2% goto bu
- echo %a2% >1.sys
- attrib 1.sys +s +h
- cls
- echo 恭喜你,密码设置成功;
- pause>nul
- goto kaishi
- :ok
- cls
- set /P a3=请输入密码:
- for /f %%i in (1.sys) do set a4=%%i
- if "%a3%"=="%a4%" goto zhengque
- goto err
- pause>nul
-
- :zhengque
- cls
- echo 输入正确,你现在可以开始使用本程序了;
- set /p a5=请选择:“1”删除密码“2”使用本程序“3”退出程序
- if "%a5%"=="1" goto shanchu
- if "%a5%"=="2" goto shiyong
- if "%a5%"=="3" goto tuichu
- cls
- echo 无效操作;
- pause>nul
- goto zhengque
-
- :shiyong
- cls
- echo 程序使用完毕,现在退出;
- pause>nul
- :tuichu
- exit
-
- :nc
- cls
- echo 你没有输入任何字符,按任意键重新输入;
- pause
- goto kaishi
-
- :bu
- cls
- echo 你两次输入不一致,请重新输入;
- pause
- goto kaishi
-
- :err
- cls
- echo 你输入的密码错误,请重新输入;
- pause
- goto kaishi
-
- :shanchu
- cls
- del 1.sys /s /q /f /ah /as >nul
- echo 密码清除成功,按任意键可以重新设置密码;
- pause>nul
- goto kaishi
复制代码
作者: zhangenming 时间: 2009-1-27 20:09
-
- @echo off
- set 设定MM=123
- set /p 输入MM=请输入密码:
- if %输入MM%==%设定MM% (echo 正确) else echo 错误
- pause
复制代码
作者: hxinhu12315 时间: 2009-1-28 08:54
- @echo off
- set pwd=123
- set num=0
- :loop
- cls
- set /a num=%num%+1
- echo 你有3次输入机会
- if %num% gtr 3 (echo 三次输入错误,程序退出!&pause&exit)
- echo 第 %num% 次输入!
- set input=
- set /p input=请输入密码:
- if "%input%"=="" (echo 不能为空!&pause&goto loop)
- echo "%input%"|findstr "[!@#$%%^&*()+|\\=]" >nul 2>nul&&(echo 特殊字符&pause&goto loop)
- 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 标题: 小弟新手也來試試
- @echo off
- cls
- set /p password=請輸入新密碼:
- if defined password call :check
- echo 您沒有輸入密碼!
- pause>nul
- call %0
-
- :check
- cls
- set /p var_password=請輸入您的密碼:
- if %var_password% == %password% (
- echo 密碼輸入正確!!
- pause>nul
- echo 退出程式
- pause>nul
- exit) else (
- echo 密碼輸入錯誤! 請重新輸入密碼!
- pause>nul
- goto :check)
复制代码
[ 本帖最后由 strong12345 于 2009-2-5 12:08 编辑 ]
作者: denev2004 时间: 2009-2-5 13:47
楼上的if defined 什么意思?看不懂. . . .
作者: kingerpk 时间: 2009-2-5 14:50
- set mm=123
- set /p p=请输入密码:
- if "%p%"=="123" echo 登陆成功! else 登陆失败
- pause
复制代码
作者: kingerpk 时间: 2009-2-5 14:53
都大同小异啊!!!!!
作者: tpkilly 时间: 2009-2-5 15:08
- @echo off
- :1
- cls
- set /p m=请输入密码:
- if %m%==123 (echo 登陆成功) else echo 密码不对&pause&goto 1
- pause
复制代码
[ 本帖最后由 tpkilly 于 2009-2-5 15:10 编辑 ]
作者: aresk 时间: 2009-2-12 20:47
- @echo off
- set /p pword="please input password: "
- if "%pword%"=="123" goto ok
- echo wrong;
- pause&exit
- :ok
- echo ok!
- pause>Nul
- 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
- set pass=123
- set /p login=请输入你的登陆密码:
- 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
- @echo off
- set /p i=:
- if %i%==123 (echo 正确) else (echo 错误)
- 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...可提高效率- @echo off
- set /p n=请输入密码:
- IF "%n%"=="123" (
- echo 登录成功
- ) else (
- echo 登录失败
- )
- 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
- @echo off&setlocal ENABLEDELAYEDEXPANSION
- set /a pass=123
- set /a cou=1
- :enter
- set /p enpass=输入密码:
- if "%enpass%"=="%pass%" (echo 密码正确&pause>nul) else (
- echo 密码错误,重新输入。只有三次机会。
- set /a cou+=1
- if %cou% equ 3 (
- echo 三次都错了,game over!&pause>nul
- goto :eof
- ) else (goto :enter)
- )
复制代码
好了 这下都对了
[ 本帖最后由 stuqx 于 2009-3-27 16:32 编辑 ]
作者: Lumiere 时间: 2009-3-23 20:09 标题: 练习
- @echo off
- set code=123
- set /p key=Please input the keycode:
- if %key% equ %code% (echo Welcome!) else echo Invalid keycode!
- pause
复制代码
作者: rboert 时间: 2009-3-25 10:46
- @echo off
- :cy
-
- set /p a=请输入密码:
- if /i %a%==123 (echo 密码正确:登陆成功&pause >nul) else echo 密码不对&goto cy
复制代码
作者: cainiao736 时间: 2009-3-26 21:57
- @echo off
- set /p str=请设定密码:
- set /p a=请输入密码:
- if %str%==%a% (echo 密码正确) else (echo 密码错误)
- 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
- @echo off & setlocal
- set /p PwdInput=Plz input:
- 1>nul 2<&1 set PwdInput || (echo No & goto:eof)
- set PwdDefined=123
- set %PwdInput%=1
- set %PwdDefined%=
- 1>nul 2<&1 set %PwdInput% && echo No || echo Yes
复制代码
作者: energy2009 时间: 2009-4-9 21:24
- @echo off
- set password=123
- set /p a=请输入三位数密码:
- if %a% equ %password% (echo ....登陆成功!)else echo ....登陆失败!
- 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
- @echo off
- set passworda=123
- :a
- set /p passwordb=请输入密码:
- if %passwordb%==%passworda% then goto b
- echo 密码错误!
- goto a
- :b
- 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
- ::要求:首先设定一个密码如:123;
- :: 然后等待输入密码;
- :: 最后判断输入正确与否并显示提示,如密码正确显示:登录成功,错误则显示:密码不对。
- @echo off
- set var1=123
- set /p var2=请输入密码:
- if %var1% equ %var2% (echo;密码正确登录成功) else (echo;密码不对)
- 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
- @echo off
- :c
- cls
- set b=1234
- set /p a=请输入密码:
- if "%a%"=="%b%" echo 密码正确&pause>nul&goto j else (
- echo 密码错误&pause>nul
- goto :c
- )
- :j
复制代码
[ 本帖最后由 canyuexiaolang 于 2009-8-28 12:32 编辑 ]
作者: 蜗牛 时间: 2009-8-8 20:58
这几天刚开始学批处理,看到这些题目真晕啊,完全无从下手
作者: hs4814 时间: 2009-8-9 19:25
- @echo off
- set a=123
- set /p b=等待输入密码:
- if %b% equ %a% ( echo 登录成功 ) else ( echo 密码不对 )
- pause>nul
复制代码
[ 本帖最后由 hs4814 于 2009-8-18 15:03 编辑 ]
作者: wayaoqiang 时间: 2009-8-12 17:01
- @echo off
- set mm=123
- :a
- set /p nn=请输入密码:
- if %mm% equ %nn% (echo 密码正确,成功登陆&goto b) else (echo 密码错误,请重新输入&goto a)
-
- :b
- 其它代码......
复制代码
[ 本帖最后由 wayaoqiang 于 2009-8-17 21:04 编辑 ]
作者: januapr 时间: 2009-8-13 08:22
我也来练习一下,呵呵
- @echo off
- :bgn
- set a=123
- set /p b=请输入正确的密码:
- if "%b%" == "%a%" (echo 密码正确,正常登陆!
- ) else (
- echo 密码不对!请重新输入!
- goto bgn
- )
- 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
- @echo off
-
- set pass=123
- set /p input=
-
- if "%input%"=="%pass%" (
- echo 登录成功
- ) else (
- echo 密码不对
- )
-
- 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
- @echo off
- set pwd=123
- set /p a=Please input your password!
- 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
- @echo off
- set /a code=123 count=3
- :begin
- set /p temp=请输入密码:
- if %temp%=%code% echo 欢迎您,登录成功!
- else (echo 密码错误!请重新输入...您还有%count%次机会
- count-=1
- goto begin)
- 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
- @echo off
- set /p var1=请设置密码:
- set /p var2=请输入密码:
- if "%var1%"=="%var2%" (echo 登录成功) else echo 密码不对
- 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- @echo off
- set a=240
- set /a b=%a%+6
- set /a c=%b%/2
- set /p d=
- if %d% equ %c% goto a
- if %d% neq %c% goto b
- :a
- echo 登录成功 & pause
- exit
- :b
- 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
- @echo off
- set psw=bathome
- set /p input=请输入密码:
- if %input%==%psw% (echo 登录成功!) else (echo 密码不对!)
- echo 按任意键退出!
- pause>nul
复制代码
作者: tevktev 时间: 2009-11-20 18:27
- @echo off
- set pass=123
- :again
- set /p enter=请输入密码:
- set /a sum+=1
- if "%sum%" equ "3" echo 错误次数太多,禁止登陆&pause>nul&goto: eof
- if "%pass%"=="%enter%" (echo 登陆成功&pause&goto: eof ) else (echo 密码错误&goto :again)
- pause
-
复制代码
作者: jcy0307 时间: 2009-11-20 19:30 标题: 回复 1楼 的帖子
- @echo off
- color 2f
- title 登陆
- :loop
- cls
- set a="123"
- set/p a=请输入密码:
- if "%a%"=="123" cls && echo 登陆成功 && pause>nul && goto ****
- if not "%a%"=="123" cls && echo 密码错误,请重新登陆!&& pause>nul && goto loop
复制代码
[ 本帖最后由 jcy0307 于 2010-1-29 22:12 编辑 ]
作者: rwxyxy 时间: 2009-11-21 14:03
- @echo off
- set "pwd=123"
- :loop
- set /p in=请输入密码:
- if "%pwd%" EQU "%in%" (echo 登录成功) else (echo 密码不对&goto loop)
复制代码
作者: feidian1028 时间: 2009-11-25 15:46
- @ echo off
- set pass=123
- set /p var=请输入密码:
- if %pass%==%var% (echo 正确!) else echo 错误!
- pause>nul
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |