if,正如它E文中的意思,就是“如果”的意思,用來進行條件判斷。翻譯過來的意思就是:如果符合某一條件,便執行后面的命令。 主要用來判斷,1、兩個“字符串”是否相等;2、兩個數值是大于、小于、等于,然后執行相應的命令。 當然還有特殊用法,如結合errorlevel:if errorlevel 1 echo error 或者結合defined(定義的意思):if defined test (echo It is defined) else echo It isn't defined
@echo off set /a num1=20 set /a num2=15 if %num1% gtr %num2% echo %num1%大于%num2% if %num1% EQU %num2% echo %num1%等于%num2% if %num1% LSS %num2% echo %num1%小于%num2% pause>nul
@ECHO OFF XCOPY F:/test.bat D:/ IF ERRORLEVEL 1 ECHO 文件拷貝失敗 IF ERRORLEVEL 0 ECHO 成功拷貝文件
如果文件拷貝成功,屏幕就會顯示“成功拷貝文件”,否則就會顯示“文件拷貝失敗”。 IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值,而且返回值必須依照從大到小次序順序判斷。 因此下面的批處理文件是錯誤的: @ECHO OFF XCOPY C:/AUTOEXEC.BAT D:/ IF ERRORLEVEL 0 ECHO 成功拷貝文件 IF ERRORLEVEL 1 ECHO 未找到拷貝文件 IF ERRORLEVEL 2 ECHO 用戶通過ctrl-c中止拷貝操作 IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操作