BAT批处理文件 if命令详解
1.IF的第一种用法,比较字符串
if/?(2019.04.27)
执行批处理程序中的条件处理。
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true。
string1==string2 如果指定的文字字符串匹配,指定条件为 true。
EXIST filename 如果指定的文件名存在,指定条件为 true。
command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。
ELSE 子句必须出现在同一行上的 IF 之后。例如:
IF EXIST filename. (del filename.
) ELSE (echo filename. missing.
)
例:
set /p PW=请输入密码:
if %PW%==bat (
echo YES!
) ELSE (
Rem [else] 为可选参数,表示否则,即如果变量PW等于bat则输出YES!否则输出NO!
echo NO!
)
pause>nul
通过set /p和if可以实现一个简单的密码判断,当然这个密码判断可以很轻易地被破解,仔细动脑筋想一想,该怎么破解呢.
不过这个密码判断尚有不足之处,假如我们什么都不输入直接回车,便会提示错误,那该怎么办呢?很简单,只要加上双引号(其它的符号也行)就行了=>if “%PW%”==“bat”
2.IF的第二种用法,比较数字
set /p num1=请第一个输入数字:
set /p num2=请第二个输入数字:
if not %num1% LSS %num2% (
rem lss表示小于
rem [not]为可选参数,表示非,即如果变量num1不小于变量num2就输出第一个数字大,否则输出第二个数字大
echo 第一个数字大
) ELSE (
echo 第二个数字大
)
pause>nul
这段代码可以实现一个简单的判断,不过尚有不足之处-----如果这两个数字相等呢,这就要请出我们的else if啦(当然你也可以用几个if来判断)
set /p num1=请第一个输入数字:
set /p num2=请第二个输入数字:
if "%num1%" gtr "%num2%" (
echo 第一个数字大
) ELSE if "%num1%" EQU "%num2%" (
echo 一样大
) ELSE (
echo 第二个数字大
)
pause>nul
------比较运算符-----
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
3.IF的第三种用法,检测文件(夹)是否存在
@echo off
if exist C:\windows (
echo 你的C盘有windows文件(夹^)
) else (
echo 你的C盘没有windows文件(夹^)
)
pause>nul
4.IF的第四种用法,检测变量是否被定义
@echo off
set var=aiwozhonghua
if defined var (
echo 变量var已被定义,它的值为%var%
) else (
echo 变量var没有被定义
)
pause>nul
去掉第一行的set看看执行结果有什么不同,你明白它的用法了吗?
5.IF的第五种用法,判断返回值(ERRORLEVEL)
@echo off
echo;>>%systemroot%\test.txt
if errorlevel 0 ( echo 写入成功! ) else echo 写入失败
pause>nul
@echo off
choice /C:ABC /n "A/B/C"
if errorlevel 3 echo You choose the C
if errorlevel 2 echo You choose the B
if errorlevel 1 echo You choose the A
pause>nul
GOTO
将 cmd.exe 导向到批处理程序中带标签的行。
GOTO label
label 指定批处理程序中用作标签的文字字符串。
例:@echo offset /p pw=请输入密码:if "%pw%"=="bathome" goto yesgoto :eofrem 未定义的:eof会退出脚本文件:yesecho 密码正确!pause>nul
(31条消息) BAT批处理文件 if命令详解_望语挽枫的博客-CSDN博客_bat if
BAT批处理文件 if命令详解相关推荐
- BAT批处理文件 for命令详解
Windows bat脚本的for语句基本形态如下: 在cmd窗口中:for %I in (command1) do command2 在批处理文件中:for %%I in (command1) do ...
- BAT批处理文件 shutdown命令详解
一个简单的例子 新建一个*.txt打开. 输入 shutdown /s /t 60 /c "您的电脑还有60秒自动关机" 保存文件,并将文件后缀名改为.bat. 右击以管理员身份打 ...
- BAT批处理文件 attrib命令详解
attrib/?(2019.04.25) 显示或更改文件属性. ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [+O | -O] [+I | -I] [ ...
- BAT批处理文件 ipconfig命令详解
ipconfig显示所有当前的 TCP/IP 网络配置值.刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置.使用不带参数的 ipconfig 可以显示所有适配器的 IP 地址.子网掩码 ...
- DOS循环:bat/批处理for命令详解之一 (史上虽详尽的总结和说明~~)
DOS循环:bat/批处理for命令详解之一 (史上虽详尽的总结和说明~~) --- --- 前言: 虽然以前对批处理也算有点研究,但一直对for命令理解不够透彻,偶尔用时也是照猫画虎的用一下. 虽然 ...
- 批处理(bat)if 命令详解
语法 if命令有以下5钟用法 if "字符串1"=="字符串2" command 语句 判断两个字符串是否相等 if 数值1 equ 数值2 command 语 ...
- 批处理if 命令详解
批处理(bat)if 命令详解 一.语法规则 1.if命令5钟用法 if "字符串1"=="字符串2" command 语句 #判断两个字符串是否相等 if 数 ...
- c语言d打开文件夹,BAT批处理之文件与文件夹操作代码(附xcopy命令详解)
批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: copy cd.dll % ...
- BAT批处理之文件与文件夹(附xcopy命令详解)
在 批处理脚本中,操作文件与文件夹的方法,包括文件的复制.删除.移动等操作,并附有xcopy命令的详细用法. 原文地址: http://www.jbxue.com/article/14535.html ...
最新文章
- linux nfs搭建
- 从表达式到函数:表面的简洁
- pyspark读写SequenceFile
- PowerTip of the Day-Finding Invalid Aliases
- iOS IM开发建议(一)App框架设计
- flash推荐助手怎么关掉_彻底清除“FF新推荐”“Flash助手”的弹出广告
- 20211010 PHP笔记
- windows下安装pycharm并连接Linux的python环境
- 【目标检测】目标检测中的多尺度检测(Multi-Scale),FPN,RPN
- 网游设想二:九重天[]
- centos6.5系统执行mv /* /path,只能用cd命令,如何恢复
- 5分钟学会制作自动化脚本——自动化脚本辅助开发IDE——Selenium IDE介绍(测试工程师必备)
- java接口分几种类型_细数Java接口的概念、分类及与抽象类的区别
- 《IS-IS网络设计解决方案》一第6章 最短路径优先算法6.1 SPF算法概述
- DruidDataSource
- 【柒穆雨】什么是平面设计,学习平面设计需要具备什么条件?
- NGUI动态字体教程
- mathmatica中ListLinePlot函数画图不能混合是咋回事啊
- 微服务--十个设计要点
- php 五子棋对战,五林大会五子棋