批处理 if 的一些参数
If在批处理程序中执行条件处理。
语法
if [not] errorlevel Number Command [el Expression]
if [not] String1==String2 Command [el Expression]
if [not] exist FileName Command [el Expression]
如果启用了命令扩展,请使用以下语法:
if [/i] String1 CompareOp String2 Command [el Expression]
if cmdextversion Number Command [el Expression]
if defined Variable Command [el Expression]
参数
not
指定只有当条件为假时才执行该命令。
errorlevel Number
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 Number 的退出代码时,才能指定真条件。
Command
指定只有满足前面的条件时才应执行的命令。
String1==String2
只有当 String1 和 String2 相同时才能指定真条件。这些值可以是文字字符串或批处理变量(例如 %1)。对于文字字符串,不需要使用问号。
exist FileName
如果 Filename 存在,则指定真条件。
CompareOp
指定三个字母的比较运算符。下表列出了 compareop 的有效值。 运算符 描述
EQU 等于
NEQ 不等于
LSS 少于
LEQ 少于或等于
GTR 大于
GEQ 大于或等于
/i
强制字符串比较忽略大小写。可以在 if 的 String1==String2 格式上使用 /i。这些比较是通用的。因为如果 String1 和 String2 都全部由数字组成,则字符串将转化为数字并执行比较。
cmdextversion Number
只有当与 Cmd.exe 的“命令扩展”功能相关的内部版本号等于或大于 Number 时,才指定真条件。第一个版本是 1。当命令扩展的功能有重大增强时,则在此号码上加 1。禁用命令扩展时(默认情况下命令扩展为启用),cmdextversion 条件不为真。
defined Variable
如果定义了 Variable,则指定条件为真。
Expression
指定将传递给 el 子句中命令的命令行命令和任何参数。
/?
在命令提示符下显示帮助。
批处理 if exist 判断两个文件
1、批处理:if作为判断真假的 if 只有两种可能, 真 和 假, 真就执行, 假就不执行,下面的%1是要输入的参数.pau是暂停not是将真假颠倒(真的变成假的, 假的变成真的)echo是打印字符串。
2、快捷键win + R打开资源管理器输入:cmd点击:确定在 cmd 里面输入test.bat a将a作为参数传递给%1。
3、如下图。
4、if exist 是用来判断文件或目录是否存在, 如果文件存在为真, 如果文件不存在为假,if exist 和 if 的区别在于。
5、if 用来判断条件的真假, 而if exist用来判断文件的真假。
批处理 if详细用法
9.If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2、if (not) exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
3、if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
对于你的例子,实现方法如下:
if exist F:\ (
start a.exe
) el (
start b.exe
)
批处理IF 需要判断2个条件如何写?
条件代码如下:
@echo off & tlocal enabledelayedexpansion
title 删除不匹配文件
for /f "delims=" %%a in ('dir /b /a-d *.lrc') do (
if not exist "%%~na.amr" (
if not exist "%%~na.mp3" (
if not exist "%%~na.wma" (
del /q "%%a" )
)
)
)
goto :eof
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。
批处理 IF
IF 语句1 语句2
语句3
如果语名1不成立,则直接执行语句3,实际上,语句3 与 if 语句没有关系 ,
但是,如果 if 或 for 语法错误,则直接退出,不执行下面的语句。
if 语句的写法变化很多,但有一个共同点,就是 if的条件 和 条件成立要执行的语句 必须在同一行。 如
if "%1"=="" echo 输入有误。
if "%1"=="" (echo 输入有误。) el echo 输入正确。
或者用括号,括号内可以有多行,el 前后都要有空格,如
if "%1"=="" (
echo 输入有误。
) el (
echo 输入正确。
echo HELLO %1
)