if 语句详解

if语句一共有3种模式,如下:

  • IF [NOT] string1==string2 command (else command)
  • IF [NOT] EXIST filename command (else command)
  • IF [NOT] ERRORLEVEL number command (else command)

NOT   指定只有条件为 false 的情况下, Windows XP 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出编码,指定条件为 true

string1==string2 如果指定的文字字符串匹配,指定条件为 true。 

EXIST filename    如果指定的文件名存在,指定条件为 true。
command   如果符合条件,指定要执行的命令。

 

@echo off
set dir=%~dp0
rem 测试字符串是否相等
set s="string"
if "string"=%s% (echo 字符串相等) else echo 字符串不相等
rem 测试字符串是否存在
if exist test.bat echo test.bat is existed
if not exist test.bat (echo test.bat is no existed) else echo test.bat is existed
rem 测试errorlevel (errorlevel 是否大于或等于number,是则执行command)                       
xcopy test.bat copy(copy是一个目录)
echo %errorlevel%
if errorlevel 1 echo 文件拷贝失败
if errorlevel 0 echo 文件拷贝成功
if errorlevel 5 echo 写盘错误
以下就是几个常用命令的返回值及其代表的意义:
backup
0 备份成功
1 未找到备份文件
2 文件共享冲突阻止备份完成
3 用户用ctrl-c中止备份
4 由于致命的错误使备份操作中止
diskcomp
0 盘比较相同
1 盘比较不同
2 用户通过ctrl-c中止比较操作
3 由于致命的错误使比较操作中止
4 预置错误中止比较
diskcopy
0 盘拷贝操作成功
1 非致命盘读/写错
2 用户通过ctrl-c结束拷贝操作
3 因致命的处理错误使盘拷贝中止
4 预置错误阻止拷贝操作
format
0 格式化成功                     
3 用户通过ctrl-c中止格式化处理
4 因致命的处理错误使格式化中止
5 在提示“proceed with format(y/n)?”下用户键入n结束
xcopy
0 成功拷贝文件
1 未找到拷贝文件
2 用户通过ctrl-c中止拷贝操作
4 预置错误阻止文件拷贝操作
5 拷贝过程中写盘错误 

  

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值