大家知道,有时需要批量处理一些文件或操作,如果一行一行执行很费事,批量处理就给我们带来很多便捷,今天要说的是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
如有不妥的地方,欢迎大家指正。
注意:本文归作者所有,未经作者允许,不得转载
原文地址: http://blog.wsmee.com/post/95
版权声明:非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0