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

[ 新手练习 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 编辑 ]
1

评分人数

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

评分人数

    • wxcute: 应该是第一个吧PB + 7

TOP

set "var=123"
set /p "sss="请输入密码
if /i %sss% equ %var%&&echo 登录成功 || 密码不对
pause
试过了不对的,pause暂停不住,写到这里希望楼主能给斧正一下,问题所在
目的,学习批处理

TOP

| 密码不对
改改这里看看?

TOP

回复 3楼 的帖子

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

if 的句式是:
if 条件 (条件成立要执行的命令) else (条件不成立时要执行的命令)
当然也可以用&&和||判断,但不会是你所写的那样。。。
另,当用户输入空值时也会出错。。。。 一个完整的参数要用""闭合。
心绪平和,眼藏静谧。

TOP

回复 2楼 的帖子

建议重新编辑一下,出现了杂乱的代码。。。
另,pause命令不管真假总是要执行的,所以可以全部去掉放在下面。。。
心绪平和,眼藏静谧。

TOP

真奇怪,再编辑里没有看见乱码...

TOP

回复 3 楼

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

一、set/p 引号滥用;
二、if 语句用法错误,请看顶楼参考部分。

TOP

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

评分人数

目的,学习批处理

TOP

回复 9楼 的帖子

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

应该是半角的引号""  非全角“
心绪平和,眼藏静谧。

TOP

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

评分人数

本人已死!不用联系!~
要联系下来联系!~~

TOP

  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
复制代码
1

评分人数

    • wxcute: 多练习有好处。PB + 4

TOP

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

评分人数

TOP

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

评分人数

    • wxcute: 同样鼓励下下。PB + 2

TOP

返回列表