找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 545958|回复: 232

[ 新手练习 3 ] 批处理简易密码登录

[复制链接]
发表于 2008-11-10 18:28:41 | 显示全部楼层 |阅读模式
要求:首先设定一个密码如: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 编辑 ]

评分

参与人数 1PB +5 收起 理由
Batcher + 5 Good work!

查看全部评分

发表于 2008-11-10 19:17:13 | 显示全部楼层
  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 编辑 ]

评分

参与人数 1PB +7 收起 理由
wxcute + 7 应该是第一个吧

查看全部评分

发表于 2008-11-10 19:28:29 | 显示全部楼层
set "var=123"
set /p "sss="请输入密码
if /i %sss% equ %var%&&echo 登录成功 || 密码不对
pause
试过了不对的,pause暂停不住,写到这里希望楼主能给斧正一下,问题所在
发表于 2008-11-10 19:31:02 | 显示全部楼层
| 密码不对
改改这里看看?
发表于 2008-11-10 19:35:50 | 显示全部楼层

回复 3楼 的帖子

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

if 的句式是:
if 条件 (条件成立要执行的命令) else (条件不成立时要执行的命令)
当然也可以用&&和||判断,但不会是你所写的那样。。。
另,当用户输入空值时也会出错。。。。 一个完整的参数要用""闭合。
发表于 2008-11-10 19:38:49 | 显示全部楼层

回复 2楼 的帖子

建议重新编辑一下,出现了杂乱的代码。。。
另,pause命令不管真假总是要执行的,所以可以全部去掉放在下面。。。
发表于 2008-11-10 20:25:09 | 显示全部楼层
真奇怪,再编辑里没有看见乱码...
 楼主| 发表于 2008-11-10 20:31:57 | 显示全部楼层

回复 3 楼

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

一、set/p 引号滥用;
二、if 语句用法错误,请看顶楼参考部分。
发表于 2008-11-10 20:41:18 | 显示全部楼层
  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 编辑 ]

评分

参与人数 2PB +7 收起 理由
yslyxqysl + 1 输入173?
wxcute + 6 不错,学得很快。

查看全部评分

发表于 2008-11-10 20:57:45 | 显示全部楼层

回复 9楼 的帖子

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
发表于 2008-11-10 21:02:58 | 显示全部楼层

回复 9楼 的帖子

应该是半角的引号""  非全角“
发表于 2008-11-11 00:26:45 | 显示全部楼层
  1. set pass=
  2. set pass=123&set /p pass=
  3. if "%pass%"=="123" (echo 登陆成功
  4. ) else (
  5. echo 失败)
  6. pause
复制代码

评分

参与人数 1PB +5 收起 理由
wxcute + 5 ^_^

查看全部评分

发表于 2008-11-11 19:31:53 | 显示全部楼层
  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
复制代码

评分

参与人数 1PB +4 收起 理由
wxcute + 4 多练习有好处。

查看全部评分

发表于 2008-11-12 14:10:51 | 显示全部楼层
  1. @echo off
  2. set psw=123
  3. set /p var=请输入密码:
  4. if %var%==%psw% (echo 登录成功) else (echo 密码不对)
  5. pause >nul
复制代码

评分

参与人数 1PB +3 收起 理由
wxcute + 3 鼓励一下

查看全部评分

发表于 2008-11-12 18:26:21 | 显示全部楼层
  1. @echo off
  2. set a=123
  3. set /p b=请在此输入密码:
  4. if "%a%" equ "%b%" (echo 登陆成功) else (echo 密码错误)
  5. pause
复制代码

评分

参与人数 1PB +2 收起 理由
wxcute + 2 同样鼓励下下。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 18:39 , Processed in 0.025487 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表