好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > bat批處理 if 命令示例詳解

bat批處理 if 命令示例詳解

熱門標簽:云南旅游地圖標注app 好的人工智能電話機器人 廣州云外呼系統公司 地圖標注位置有用嗎 谷歌地圖標注時間 中國地圖標注省份顏色 地圖標注銷售數據 百應ai電話機器人銷售怎么樣 岳陽縣地圖標注app

if 命令示例詳解

if,正如它E文中的意思,就是“如果”的意思,用來進行條件判斷。翻譯過來的意思就是:如果符合某一條件,便執行后面的命令。

主要用來判斷

1、兩個“字符串”是否相等;

2、兩個數值是大于、小于、等于,然后執行相應的命令。

當然還有特殊用法,如結合errorlevel:if errorlevel 1 echo error
或者結合defined(定義的意思):if defined test (echo It is defined) else echo It isn't defined

使用 if 命令判斷上一條命令的退出代碼

左括號的左邊需要有空格
else 右邊需要有空格左邊建議有空格
右括號、else、左括號需要放在同一行

@echo off
echo www.jb51.net | findstr "jb51"
if %errorlevel% equ 0 (
echo 找到指定字符串
) else (
echo 沒有找到指定字符串
)
pause

if errorlevel 0 判斷的是 errorlevel 是否大于等于 0

@echo off
echo www.jb51.net | findstr "jb51"
if errorlevel 1 (
echo 沒有找到指定字符串
) else (
echo 找到指定字符串
)
pause

但 把 if errorlevel 0 放在最前面在邏輯上是錯誤的

if errorlevel 0 (
echo 找到指定字符串
) else if errorlevel 1 (
echo沒有找到指定字符串
)

使用 if 命令判斷文件是否存在

不使用反斜線的情況下 if exist 命令無法直接區分文件和文件夾

判斷文件夾的時候在最后加上反斜線

@echo off
if exist "C:\Program Files\" (
echo 文件夾存在
) else (
echo 文件夾不存在
)
pause

判斷文件的時候先排除文件夾

if not 表示條件不成立的情況下執行命令

@echo off
if not exist "1.txt\" (
if exist "1.txt" (
echo 文件存在
) else (
echo 文件不存在
) )
pause

使用 if 命令進行字符串比較

使用 == 判斷兩個字符串或數字是否相等

if 1 == 1 echo yes
if "a" == "a" echo yes

使用 /i 可以忽略字母大小寫

if "a" == "A" echo yes
if /i "a" == "A" echo yes

數字比較不要使用雙引號
使用雙引號之后會變成字符串比較

if 2 gtr 10 echo yes
if "2" gtr "10" echo yes

比較操作符

equ
neq
lss
leq
gtr
geq
equal
not equal
less than
less than or equal
greater than
greater than or equal
等于
不等于
小于
小于或等于
大于
大于或等于

批處理if命令字符串比較和ASCII的關系

數字小于字母。 
同一個字母,小寫字母小于大寫字母。
不同的字母,按照字母表中的順序排列。

擴展閱讀

https://www.jb51.net/article/223121.htm

http://bbs.bathome.net/thread-12314-1-1.html

http://bbs.bathome.net/thread-12329-1-1.html

if命令知識點(1)變量延遲擴展

復合語句需要啟用變量延遲擴展

錯誤寫法

@echo off
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" (
echo 重新賦值成功
) else (
echo 重新賦值失敗
) )
pause

正確寫法

@echo off
setlocal enabledelayedexpansion
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" (
echo 重新賦值成功
) else (
echo 重新賦值失敗
) )
pause

錯誤寫法

@echo off
for %%i in ("C:\Windows\*.exe") do (
set list=%list% %%i
)
echo %list%
pause

正確寫法

@echo off
setlocal enabledelayedexpansion
for %%i in ("C:\Windows\*.exe") do (
set list=!list! %%i
)
echo %list%
pause

批處理中的變量延遲擴展、變量嵌套

http://bbs.bathome.net/thread-2899-1-1.html

if命令知識點(2)刪除重復行

使用 if defined 命令刪除文本中的重復行

@echo off
for /f "delims=" %%i in (1.txt) do (
if not defined _%%i (
echo,%%i
set "_%%i=1"
) )
pause

C:\&;type 1.txt
bbs
bathome
net
bathome

C:\&;test.bat
bbs
bathome
net
請按任意鍵繼續. . .

這個方法不適合用來處理非常大的文件,而且無法處理包含等號的行,參考:

http://bbs.bathome.net/thread-4690-1-1.html

下面是一些補充

用法示例:

1、檢測字符串(注意,用if檢測字符串是否相等的時候,后面用的不是“=”,而是“==”):

@echo off 
set "str=this is a test" 
REM 檢測變量%str%是否等于test,如果相等,顯示OK,否則顯示NO 
if "%str%"=="test" (echo OK) else echo NO 
pause>nul 

2、檢測數值:(注意,批處理中大于符號不能用:“>”,而用"gtr",其它的也類似)

比較運算符一覽:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
檢測數值 20 是否大于 15演示代碼:

@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 

3、if結合errorlevel使用:

說明:環境變量errorlevel的初始值為0,當一些命令執行不成功,就會返回一個數值,如:1 ,2 等
IF-ERRORLEVEL
測試代碼:

@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 預置錯誤阻止文件拷貝操作
IF ERRORLEVEL 4 ECHO 拷貝過程中寫盤錯誤

無論拷貝是否成功,后面的:
未找到拷貝文件
用戶通過ctrl-c中止拷貝操作
預置錯誤阻止文件拷貝操作
拷貝過程中寫盤錯誤
都將顯示出來。

附錄:
以下就是幾個常用命令的返回值及其代表的意義:
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 拷貝過程中寫盤錯誤

4、if還有一個特殊的用法就是可以用來檢測某個變量是否已經被定義

用法示例:

@echo off 
set "str1=ok" 
set "str2=no" 
if defined str1 echo str1已經被定義 
if defined str2 echo str2已經被定義 
if defined str3 (echo str3已經被定義) else echo str3 沒有被定義 
pause>nul 

待續....

您可能感興趣的文章:
  • 批處理經典入門教程!(從不懂到高手)
  • windows批處理命令教程
  • 批處理 Set 命令詳解 讓你理解set命令
  • BAT批處理中的字符串處理詳解(字符串截取)
  • 批處理命令Start的使用介紹
  • 批處理bat設置固定IP地址和自動IP地址
  • Windows下用命令行修改IP地址的方法詳解(附批處理文件)
  • 批處理獲取網卡名稱的代碼(附修改IP、網關、DNS腳本)
  • 獲取外網IP地址的批處理代碼
  • 批處理、VBS實現自動設置IP、默認網關、DNS、WINS、IE代理(全)
  • IP地址自動設置的批處理代碼分享

標簽:宜昌 南京 東營 天門 周口 三明 鄭州 三沙

巨人網絡通訊聲明:本文標題《bat批處理 if 命令示例詳解》,本文關鍵詞  bat,批處理,命令,示例,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《bat批處理 if 命令示例詳解》相關的同類信息!
  • 本頁收集關于bat批處理 if 命令示例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美色综合图区| 国产麻豆精品XXXHD| 37tp人体大胆中国人体| 亚洲国产一区在线二区三区| 18电影| 欧美黑粗大硬巴XXOO| 人人看人人澡| 99久久国产精品成一观| 大黄网站在线观看| 亚洲免费午夜视频| 福利社午夜影院| 亲嘴一边亲一边摸下面| 屁屁影院地址永久入口2022| 大胸美女被c| 91天堂国产在线 在线播放| 2021最新韩国理论三级0k网| 日本动漫大尺度无删减在线| 人人澡人摸人人添学生av| 亚洲欧美日韩国产色另类| 母子乱轮| 做完之后突然涌出好多白带| 中文字幕 在线视频 日韩精品 | 别揉我胸啊嗯上课呢小| 国内外爱鲁吧免费网| 羞羞漫画汗汗漫画SSS| 亚洲韩国欧美一区二区三区| 黑人40厘米战风间由美下载| 国产????拗女.金瓶.中国 | 又色又爽又黄gif动态视频| 欧美变态口味重另类在线视频| jizzzz日本| 亚洲第一区二区三区| 久久性精品| 毫无节制1h青柠威士忌| 阿别摸了好爽阿一| 无尺码精品产品有哪些| 黄色成人免费观看| 国产aa毛片| 黄色短视频免费| 色情久久爽爽久免费| 91av欧美|