BAT文件 If命令的使用

小豆苗 1年前 ⋅ 6399 阅读

大家知道,有时需要批量处理一些文件或操作,如果一行一行执行很费事,批量处理就给我们带来很多便捷,今天要说的是If命令:

if命令算windows批处理里面的高级命令了,如果会用了if命令,就可以写很多的判断条件来执行不同的指令了。

if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

1、if [not] "参数" == "字符串" 待执行的命令

参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

例:if "%1"=="a" format a:

2、if [not] exist [路径\]文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如: if exist c:\config.sys type c:\config.sys
表示如果存在c:\config.sys文件,则显示它的内容。

3、if errorlevel <数字> 待执行的命令

很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

如if errorlevel 2 goto end

如下是自己写的一个批量重命名的示例,其中用到了if,来判断文件是否存在,供大家学习使用:

@ECHO OFF
SETLOCAL

@for /f %%s in (name1.txt) do (
if exist %%s for /f %%d in (name2.txt) do (
ren %%s %%d)
)
echo 操作成功!
pause

如有不妥的地方,欢迎大家指正。


全部评论: 0

    我有话说: