a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 基礎常識 > 正文

windows bat(批處理):IF詳解

2019-10-31 23:59:24
字體:
來源:轉載
供稿:網友

   windows bat(批處理)--IF詳解

  摘要:本文介紹了windows bat中IF語句的語法,包括3中基本形勢和擴展IF語句

  1. IF & IF not

  if 和 if not 有都有3中形勢:

  IF [NOT] ERRORLEVEL number do command

  IF [NOT] string1==string2 do command

  IF [NOT] EXIST filename do command

  NOT

  指定只有條件為 false 的情況下,Windows 才應該執行該命令。

  ERRORLEVEL number 如果最后運行的程序返回一個等于或大于指定數字的退出代碼,指定條件為 true.

  string1==string2 如果指定的文字字符串匹配,指定條件為 true.

  EXIST filename 如果指定的文件名存在,指定條件為 true.

  command 如果符合條件,指定要執行的命令。如果指定的條件為 FALSE,命令后可跟 ELSE 命令,該命令將在 ELSE 關鍵字之后執行該命令。

  1.1 IF [NOT] string1==string2 do command

  注意是 string, 同時要保持string1 和string2 的格式相同

  如:

  [python]

  if "%1"=="a" format a:

  if {%1}=={} goto noparms

  if {%2}=={} goto noparms

  1.2 IF [NOT] EXIST filename do command

  如果有指定的文件,則條件成立,運行命令,否則運行下一句。

  如

  [python]

  1.

  if exist config.sys edit config.sys

  2.

  if exist %1.obj link %1.obj

  else pause & edit %1.asm

  3.

  IF EXIST filename. (

  del filename.

  ) ELSE (

  echo filename. missing.

  )

  ELSE 子句必須出現在同一行上的 IF 之后

  由于 del 命令需要用新的一行終止,因此以下子句不會有效:

  [python]

  IF EXIST filename. del filename. ELSE echo filename. missing

  由于 ELSE 命令必須與 IF 命令的尾端在同一行上,以下子句也

  不會有效:

  [python]

  IF EXIST filename. del filename.

  ELSE echo filename. missing

  如果都放在同一行上,以下子句有效:

  [python]

  IF EXIST filename. (del filename.) ELSE echo filename. missing

  1.3 IF [NOT] ERRORLEVEL number do command

  如果返回碼等于指定的數字,則條件成立,運行命令,否則運行下一句。

  如if errorlevel 2 goto x2

  DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1.

  2. IF擴展

  如果命令擴展被啟用,IF 會如下改變:

  IF [/I] string1 compare-op string2 command

  IF CMDEXTVERSION number command

  IF DEFINED variable command

  (1) IF [/I] string1 compare-op string2 command

  compare-op 可以是:

  EQU - 等于

  NEQ - 不等于

  LSS - 小于

  LEQ - 小于或等于

  GTR - 大于

  GEQ - 大于或等于

  /I 開關(如果指定)說明要進行的字符串比較不分大小寫。

  /I 開關可以用于 IF 的 string1==string2 的形式上。這些比較都是通用的;原因是,如果 string1 和 string2 都是由數字組成的,字符串會被轉換成數字,進行數字比較。

  (2)IF CMDEXTVERSION number command

  CMDEXTVERSION 條件的作用跟 ERRORLEVEL 的一樣,除了它是在跟與命令擴展有關聯的內部版本號比較。第一個版本是 1.每次對命令擴展有相當大的增強時,版本號會增加一個。命令擴展被停用時,CMDEXTVERSION 條件不是真的。

  如果已定義環境變量,DEFINED 條件的作用跟 EXIST 的一樣,除了它取得一個環境變量,返回的結果是 true.

  如果沒有名為 ERRORLEVEL 的環境變量,%ERRORLEVEL%

  會擴充為 ERROLEVEL 當前數值的字符串表達式;否則,您會得到其數值。運行程序后,以下語句說明 ERRORLEVEL 的用法:

  goto answer%ERRORLEVEL%

  :answer0

  echo Program had return code 0

  :answer1

  echo Program had return code 1

  您也可以使用以上的數字比較:

  IF %ERRORLEVEL% LEQ 1 goto okay

  如果沒有名為 CMDCMDLINE 的環境變量,%CMDCMDLINE%將在 CMD.EXE 進行任何處理前擴充為傳遞給 CMD.EXE 的原始命令行;否則,您會得到其數值。

  如果沒有名為 CMDEXTVERSION 的環境變量,%CMDEXTVERSION% 會擴充為 CMDEXTVERSION 當前數值的字串符表達式;否則,您會得到其數值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本一区二区三区四区视频 | 午夜激情视频在线观看 | 亚洲六月丁香色婷婷综合久久 | 久久久日韩精品一区二区三区 | 欧美一级三级 | 国产精品国产三级国产有无不卡 | 欧美成人不卡 | 亚洲欧美综合精品久久成人 | 亚洲精品乱码 | 国产69精品久久久久观看黑料 | 精品无码久久久久久国产 | 午夜精品一区二区三区在线 | 免费不卡视频 | 国产日韩欧美精品一区 | 欧美日韩成人在线视频 | 久久com| 日韩久久久久久 | 日韩美香港a一级毛片免费 欧美一极视频 | 91激情在线 | 黄色a在线| 亚洲一区中文字幕永久在线 | 日本不卡在线 | 精品亚洲永久免费精品 | 午夜精品久久久久久久久久久久 | 国产a区| 亚洲天天 | 欧美一级艳片视频免费观看 | 国产一在线| 国产精品一区二区吃奶在线观看 | 久久99国产一区二区三区 | 国产伦精品一区二区三区在线 | 中文字幕亚洲欧美日韩在线不卡 | 国产全黄 | 欧美伊人影院 | 久久aⅴ乱码一区二区三区 午夜在线播放 | 中字一区 | 国产精品一码二码三码在线 | 亚洲视频中文字幕 | 三级在线观看视频 | 中文字幕第二十六页页 | 一区二区三区在线免费观看 |