@echo off
dir /a /s /d *1.bat && start /w *.1bat
dir /a /s /d *2.bat && start /w *2.bat
Ⅱ bat批處理命令大全bat批處理命令詳細講解
計算機DOS下,bat批處理 if 命令示例詳解,簡單易懂,你也可以來學學。【開始】-【所有程序】-【附件】-【命令提示符】
if /? 先在CMD命令提示符下看看IF命令的幫助信息。
實例一:
檢測字元串(注意,用if檢測字元串是否相等的時候,後面用的不是「=」,而是「==」,和C語言有一點類似):
@echo off
set "str=Hello World !"
REM 檢測變數%str%是否等於Hello,如果相等,顯示OK,否則顯示NO
if "%str%"=="Hello" (echo OK) else echo NO
pause>nul
實例二:
檢測數值:(注意,批處理中大於符號不能用:「>」,而用"gtr",其它的也類似)
比較運算符一覽:
EQU - 等於
NEQ - 不等於
LSS - 小於
LEQ - 小於或等於
GTR - 大於
GEQ - 大於或等於
檢測數值 100 是否大於 80演示代碼:
@echo off
set /a num1=100
set /a num2=80
if %num1% gtr %num2% echo %num1%大於%num2%
if %num1% EQU %num2% echo %num1%等於%num2%
if %num1% LSS %num2% echo %num1%小於%num2%
pause>nul
實例三:
if結合errorlevel使用
說明:環境變數errorlevel的初始值為0,當一些命令執行不成功,就會返回一個數值,如:1 ,2 ,3等
IF-ERRORLEVEL
代碼:
@ECHO OFF
XCOPY D:\test.rar C:\
IF ERRORLEVEL 1 ECHO 文件拷貝失敗
IF ERRORLEVEL 0 ECHO 成功拷貝文件
pause>nul
如果文件拷貝成功,屏幕就會顯示「成功拷貝文件」,否則就會顯示「文件拷貝失敗」。
IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的返回值,而且返回值必須依照從大到小次序順序判斷。
因此下面的批處理文件是錯誤的:
@ECHO OFF
XCOPY D:\test.rar C:\
IF ERRORLEVEL 0 ECHO 成功拷貝文件
IF ERRORLEVEL 1 ECHO 未找到拷貝文件
IF ERRORLEVEL 2 ECHO 用戶通過ctrl-c中止拷貝操作
IF ERRORLEVEL 3 ECHO 預置錯誤阻止文件拷貝操作
pause>nul
實例四:
if檢測某個變數是否已經被定義
@echo off
set "A1=yes"
set "A2=no"
if defined A1 echo A1已經被定義
if defined A2 echo A2已經被定義
if defined A3 (echo A3已經被定義) else echo A3 沒有被定義
if defined A4 (echo A4已經被定義) else echo A4 沒有被定義
pause>nul
教程到此為止,IF在批處理中的用法很廣泛,你可以多學習學習,舉一反三。