If在多数语言代码里面都扮演着判断、选择执行的角色,bat里面也不例外
从cmd帮助里面可以查
help if
帮助文件的全部内容,下面逐个测试:
C:\Documents and Settings\Work>help if
执行批处理程序中的条件处理。
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下, Windows XP 才
应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于
指定数字的退出编码,指定条件为 true。
string1==string2 如果指定的文字字符串匹配,指定条件为 true。
EXIST filename 如果指定的文件名存在,指定条件为 true。
command 如果符合条件,指定要执行的命令。如果指定的
条件为 FALSE,命令后可跟一个执行 ELSE
关键字后的命令的 ELSE 命令。
ELSE 子句必须在 IF 之后出现在同一行上。例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
因为 del 命令需要用一个新行终止,以下子句不会有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
如果命令扩展名被启用,IF 会如下改变:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中,比较运算符可以是:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
及 /I 开关;如果该开关被指定,则说明要进行的字符串比较不分
大小写。/I 开关可以用于 IF 的 string1==string2 的形式上。这些
比较都是通用的;原因是,如果 string1 和 string2 都是由数字
组成的,字符串会被转换成数字,进行数字比较。
CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它
是在跟与命令扩展名有关联的内部版本号比较。第一个版本
是 1。每次对命令扩展名有相当大的增强时,版本号会增加一个。
命令扩展名被停用时,CMDEXTVERSION 条件不是真的。
如果已定义环境变量,DEFINED 条件的作用跟 EXISTS 的一样,
除了它取得一个环境变量,返回的结果是 true。
如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%
会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,您会得到
其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的数字比较:
IF %ERRORLEVEL% LEQ 1 goto okay
如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%
将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始
命令行;否则,您会得到其数值。
如果没有名为 CMDEXTVERSION 的环境变量,
%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的
字串符表达式;否则,您会得到其数值。
C:\Documents and Settings\Work>
C:\Documents and Settings\Work>
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
[]里面的NOT为可选,并代表非,或false的含义
分享到:
相关推荐
这个标准教程全面地介绍了批处理的各个方面,从基础知识到高级应用,旨在帮助读者从入门到精通。 **预备知识** 在学习批处理之前,了解基本的DOS命令和Windows操作系统环境是必要的。批处理脚本基于DOS命令行,因此...
它的本质是将一系列DOS命令按照特定顺序组织在一起,形成一个可执行的文本文件,通常以`.bat`为扩展名。批处理文件的使用无需复杂的编程知识,只需了解基本的DOS命令,就能实现诸如文件管理、系统维护等自动化任务,...
这个入门教程对于初学者来说是一个很好的起点,它涵盖了批处理的基本概念和常用命令,帮助新手快速熟悉这个强大的工具。 1. **BAT简介**: 批处理文件通常以`.bat`或`.cmd`为扩展名,它们是一系列DOS命令的集合,...
根据提供的文件信息,本文将对“bat入门教程内部资料”中的关键知识点进行详细解析与扩展。这份资料旨在帮助初学者了解并掌握批处理脚本的基本概念及其应用。 ### 批处理基础 #### 什么是批处理? 批处理是一种...
BAT 入门教程 BAT(批处理)是一种非常强大的命令脚本语言,能够自动执行多个命令并且具有很高的灵活性和自动化程度。本教程旨在让读者通过简单易懂的语言和实例来学习 BAT 的基础知识和应用。 一、什么是 BAT? ...
迎来到非常 BAT! 按任意键退出... 这个简单的例子展示了批处理的基本结构和几个常用命令的用法。`@echo off`命令用于关闭命令提示符窗口的命令回显,使得批处理脚本看起来更加整洁。`echo`命令用于输出文本到屏幕,...
【批处理文件(BAT)入门教程】 批处理文件,源于早期的DOS操作系统,是一种文本文件,包含了按照特定顺序执行的DOS命令序列。通过批处理,用户可以简化复杂的操作,实现自动化任务处理,尤其适合那些需要重复执行...
### bat脚本的基本语法与应用实例 在计算机领域中,批处理(batch)脚本是一种在Windows操作系统下常用的自动化工具,它通过一系列预定义的命令来执行特定的任务或操作。本文将详细介绍bat脚本的基本语法及其简单...
更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理...
15. **IF** - **功能**: 条件判断。 - **用途**: 根据条件执行不同的操作。 16. **SETLOCAL 与 变量延迟** - **SETLOCAL**: 开始局部环境变量更改。 - **用途**: 管理变量作用域。 17. **ATTRIB 显示或更改...
虽然这个例子已经过时,因为它基于旧版QQ的广告方式,但它演示了批处理脚本如何利用if语句来判断文件是否存在,并执行删除操作。这展示了批处理脚本在系统管理方面的一些应用。 最后,教程还介绍了一个用于检查系统...
4. **条件语句**:通过`IF`关键字实现条件判断,如`IF %errorlevel% == 0 echo 成功`,检查上一个命令的错误级别。 5. **循环语句**:`FOR`循环在批处理中常用,例如`FOR %i IN (files*) DO command %i`,遍历并...
入门 bat 批处理教程 本教程旨在让读者快速掌握批处理的基础知识,通过简单易懂的语言和实用的例子,让读者体验批处理的魅力。 一、什么是批处理? 批处理的定义,至今没有一个确切的定义,但可以简单总结为:一堆...
### 脚本 (.BAT) 编写详细手册:深入解析与应用 #### 批处理(.BAT)基础知识 批处理脚本(.BAT)是一种在DOS或Windows操作系统下运行的自动化命令序列。它们通常用于执行一系列预定义的命令,如文件操作、系统配置...
### 零基础轻松学BAT文件写法 在IT领域中,掌握批处理脚本(.bat文件)的编写是一项非常实用的技能。本文将详细解释如何从零开始学习并熟练...希望本文能帮助读者快速入门BAT文件编写,开启探索自动化之旅的第一步。
2. **条件语句**:如`IF`和`ELSE`,可以根据不同条件执行不同的命令序列。 3. **循环结构**:如`FOR`循环,可以对一系列文件或数值进行迭代操作。 4. **批处理变量**:如 `%var%`,可以用来存储和传递数据。 5. *...
本文将深入探讨BAT脚本的基础知识,帮助初学者快速入门。 ## 一、BAT脚本简介 BAT脚本本质上是一系列DOS命令的集合,以文本文件的形式存储,后缀名为`.bat`。当运行BAT文件时,系统会逐行解释并执行这些命令。这...