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

[原创] [批处理命令一日一教学](4)条件判断:if

[复制链接]
发表于 2012-3-22 22:41:58 | 显示全部楼层
回复 63# ghostwar
  1. @echo off
  2. echo.&echo.
  3. set /p str=请输入密码:
  4. if /i "%str%"=="qwer" (echo 密码正确!) else (echo 密码错误!
  5. )
  6. pause>nul
复制代码

评分

参与人数 1PB +6 收起 理由
cjiabing + 6 乐于助人

查看全部评分

发表于 2012-3-22 22:46:53 | 显示全部楼层
另有一行代码求教,
  1. echo off
  2. for %%i in (79) do echo.
  3. pause
  4. :start
  5. if %%i lss 100 (echo pretty good!&pause>nul) else (echo Ah..!&pause>nul)
  6. if %%i lss 0 (echo Pretty good!&pause>nul) else (echo SHIT!&pause>nul)
  7. goto start
复制代码
输出结果都是Pretty good,怎么回事?
发表于 2012-4-25 22:32:07 | 显示全部楼层
回复 66# Null?


    我感觉应该是for形式变量不能在for语句外引用造成的,你可以在for语句之后echo %%i看看
  改成下面的代码就可以了
  1. echo off
  2. for %%i in (79) do (
  3.   echo.
  4.   set /a num=%%i
  5. )&pause
  6. :start
  7. if %num% lss 100 (echo pretty good!&pause>nul) else (echo Ah..!&pause>nul)
  8. if %num% lss 0 (echo Pretty good!&pause>nul) else (echo SHIT!&pause>nul)
复制代码

评分

参与人数 1PB +6 收起 理由
cjiabing + 6 乐于助人

查看全部评分

发表于 2012-5-21 17:07:27 | 显示全部楼层
真是好帖。。太喜欢这个每日一学了。。
发表于 2012-5-22 14:57:58 | 显示全部楼层
@echo off


set /p s=请输入1或2:

if /i "%s%"=="2" goto a
if /i "%s%"=="1" goto b
:a
echo 你输入的是2
pause
exit
:b
echo 你输入的是1
pause
exit
发表于 2012-5-25 23:57:20 | 显示全部楼层
看不懂哇哇哇哇我
发表于 2012-5-28 08:21:16 | 显示全部楼层
慢慢积累,学了就多了 感觉这里人挺互相照顾的
发表于 2012-6-28 17:21:52 | 显示全部楼层
回复 72# 奕博


    删除变量内容里面的双引号

评分

参与人数 1PB +6 收起 理由
cjiabing + 6 乐于助人

查看全部评分

发表于 2012-7-15 20:29:36 | 显示全部楼层
楼上误人啊,exsited这个东西我搞了十来分钟,原来就是把这个字符重定向到1.txt文本里面啊!!建 ...
xso300 发表于 2011-12-7 00:27
  1. set /a a=55^<^<5
复制代码
等价于
  1. set /a a=55"<<"5
复制代码
就是将十进制数55的二进制形式110111左移5位(相当于乘以2的5次方)
结果是二进制数11011100000,转化成十进制就是1760了

评分

参与人数 1技术 +1 收起 理由
cjiabing + 1 谢谢分享!

查看全部评分

发表于 2012-7-19 14:40:43 | 显示全部楼层
回复 62# xso300


if  exist 1.txt  (echo 存在文本 1.txt——此时,如果你想重写1.txt,或把这句话写入该文本就在后面加 >1.txt)  else  echo 如果不存在就创建该文本 >1.txt

不管是否存在1.txt文件都创建时直接用 cd.>1.txt
如果想存在该文本文件时只是想往里写东西,则使用 if exist 判断好点。


  1. if  exist 1.txt (echo 存在文本) else echo 文本不存在&cd.>1.txt
  2. ::执行结果就是,一定存在1.txt。
复制代码
发表于 2012-11-7 08:13:11 | 显示全部楼层
回复 14# nanoking


    set "no=%no:"=%"  请教一下这个是什么意思?谢谢了!
发表于 2012-11-7 08:32:54 | 显示全部楼层
回复 76# linzhichu11


    删掉双引号
发表于 2012-11-7 12:37:38 | 显示全部楼层
回复 77# BAT-VBS


    谢啦!
发表于 2012-11-15 09:12:51 | 显示全部楼层
回复 5# yslyxqysl


    关于进制的,还是不理解,我自己观察了你的示例,按照数量关系来说:第一组  第一个数字是8进制,后面是10进制。第二组第一个是16进制,后面是10进制。第三组第一个数字为8进制,后面的为16进制。
是不是想告诉我们:16进制数 必须是0X00格式  8进制 开头必须有 0  而10进制数没有别的限制可以直接表示?
发表于 2013-2-18 11:36:50 | 显示全部楼层
学习了,很好。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:47 , Processed in 0.030883 second(s), 13 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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