【WINDOWS / DOS 批处理】if命令参数详解(一)
if命令参数详解(一)
if命令参数详解(二)
命令格式
在CMD.EXE禁用命令扩展模式下,IF 命令可以使用以下三种格式:
【格式一】IF [NOT] ERRORLEVEL number command
【格式二】IF [NOT] EXIST filename command
【格式三】IF [NOT] string1 == string2 command
在CMD.EXE启用命令扩展模式下,IF 命令可以使用的格式如下:
【格式一】和【格式二】,其用法和在CMD.EXE禁用命令扩展模式下的用法一致
在【格式三】中,还可以使用 /I 参数,其完整格式如下:
IF [/I] [NOT] string1 == string2 command
【格式四】IF [/I] [NOT] string1 compare-op string2 command
其中, compare-op 可以是:
- EQU --- 等于
- NEQ --- 不等于
- LSS --- 小于
- LEQ --- 小于或等于
- GTR --- 大于
- GEQ --- 大于或等于
注意:compare-op 忽略大小写
【格式五】IF [NOT] CMDEXTVERSION number command
【格式六】IF [NOT] DEFINED variable command
什么是命令扩展
【else子句】
上述六种命令格式后面都可跟else子句
- else关键字后面必须存在空白,不然报错。 如下图:
- 在一行中,不能以else开头
【NOT参数】
只有NOT关键字后面的条件为 false 时,才执行 command
示例
C:\>if abc == abc echo ok // 命令一
okC:\>if not abc == abc echo ok // 命令二C:\>
解析
- 命令一:条件“abc == abc”成立,执行命令“echo ok”
- 命令一:NOT后面的条件“abc == abc”成立(值为true),命令“echo ok”不能被执行
【command参数】
command指定将要执行的命令,例如上例中的 “echo ok”
- 如果前面的条件为 true,则执行 command
- 如果前面的条件为 FALSE,若存在ELSE子句,则执行 ELSE 子句中的命令;若不存在ELSE子句,则返回。
命令功能
当满足条件时,执行 command
【格式一】IF [NOT] ERRORLEVEL number command
ERRORLEVEL number 如果前一个程序返回的退出代码等于或大于 number ,则ERRORLEVEL number 为 true,否则 ERRORLEVEL number 为false
示例
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
dir /a:d /b | findstr "out"
cd out:: "cd out"命令的退出代码为0
echo %errorlevel%
if not errorlevel 1 (
dir /b
cd ..
) else (
echo out目录不存在
)
【标注一】 下载Notepad++
运行
C:\>demo
out
0
file_show.txt
myDir
showDir
C:\>
【格式二】IF [NOT] EXIST filename command
EXIST filename 如果 filename 存在,则EXIST filename为 true,否则 EXIST filename为false
示例
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
dir /a:d /b | findstr "out":: filename可以为目录,也可以为文件
if exist out (
echo out目录存在
) else (
echo out目录不存在
)
运行
C:\>demo
out
out目录存在
C:\>
【格式三】 IF [NOT] string1==string2 command
string1 == string2 当string1 和 string2 相同时,则 string1 == string2 为 true,否则string1 == string2为false
注意:
- string1(或string2) 两边的空白会被忽略
- string1(或string2) 支持变量解析
示例
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off:: xyz两边的空白会被忽略
if xyz == xyz echo ok
set var=xyz:: abc两边的空白会被忽略,%var% 被解析为 xyz
if %var% == abc (
echo good
) else (
echo bad
)
运行
C:\>demo
ok
bad
C:\>
【WINDOWS / DOS 批处理】if命令参数详解(一)相关推荐
- Windows中ipconfig /all命令参数详解
ipconfig命令参数详解 结果详解 1.主机名:本机PC的hostname,主机名指得是网络上设备的名称,主机名即计算机名,是用来标识计算机在"网上邻居"里是身份的,这样其他用 ...
- 【WINDOWS / DOS 批处理】dir命令参数详解(二)
dir命令参数详解(一) dir命令参数详解(二) 命令格式 DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] ...
- 【WINDOWS / DOS 批处理】if命令参数详解(二)
if命令参数详解(一) if命令参数详解(二) [格式四]IF [ /I ] [ NOT ] string1 compare-op string2 command string1 compare- ...
- Windows 运行chkdsk磁盘修复工具命令参数详解
Windows 运行chkdsk磁盘修复工具命令参数详解 chkdsk是Windows系统自带的磁盘修复工具,通常在电脑非正常关机之后再开机,系统就会自动调用chkdsk工具进行磁盘扫描和修复.同时, ...
- java ext.dirs_关于-Djava.ext.dirs使用及JAVA 命令参数详解System.setProperty
大家在linux环境下使用命令行执行java程序时,经常要使用到大量外部的jar包或class文件,一般我们有哪些方式可以用呢? -classpath,命令格式:# java -classpath , ...
- Mount 命令参数详解
Mount 命令参数详解 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该文件夹关联起来,因此只要访问这个文件夹,就相当于访问该分区了. 目前mount已 ...
- oracle spool 分隔符_sqlplus--spool命令参数详解
sqlplus--SPOOL参数详解 Spool是Oracle快速导出数据的工具,是sqlplus的指令,不是sql语法里的东西 一.Spool常用的设置 set arraysize 5000; / ...
- linux下top命令参数详解
linux下top命令参数详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: ...
- oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 expsyste ...
最新文章
- SAP MM 物料主数据里某字段看不到就是屏幕格式设置导致的?
- 2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势
- python乘法口诀编程-中年大叔学编程-用Python打印个九九乘法表
- asio中奇怪的代码
- oracle 如何形成死锁,ORACLE死锁
- ASP.NET与JavaScript联合操作之一 选择DataGrid中的CheckBox控件后该行背景变色
- SpringMVC+Json构建基于Restful风格的应用
- 解决window8 下连接PLSQL 报ora-12154错误
- 从基础到分析,聊一聊企业报表平台的建设规划!
- C语言练习——百钱百鸡
- 网站嵌入虚拟试衣间方案问题
- 群晖python套件包_想在群晖上运行python该怎么弄?
- 台湾ICPlus IP175GHI, 85nm /极低功率,5接口10/100以太网集成交换机芯片
- 10019---mybatis的缓存机制(一级缓存二级缓存和刷新缓存)
- 原创 | GPT-4 震撼登场,惊艳四座,然而...
- css强制换行和超出隐藏实现(单行和多行)
- ABB机器人编程随记
- 2022-2028全球与中国绿色氢基微电网市场现状及未来发展趋势
- uniapp设置百度小程序索引页dynamicLib、usingComponents、swan-sitemap-list
- 波斯语计算机语言,语言「波斯语」10句及词汇
热门文章
- 【Unity3D自学记录】实现地球仪般拖拽旋转的效果
- Linux网络编程(TCP)
- python函数的传递方式有哪些_Python函数参数定义及传递方式解析
- Shell脚本创建用户
- CShell (REPL) :轻量级、可扩展(dll)、 支持C#语法 的接口算法验证工具
- java项目添加功能失败_学生信息的添加 Java web简单项目初试(失败)
- HP SmartArray P400, poor performance?
- gifshot.js合成GIF
- 多层陶瓷电容器用处_陶瓷电容器的分类和用途
- matlab带电阻性负载仿真,基于MATLAB的带整流负载同步发电机仿真研究