批處理(語句結構)

2022-08-21 10:18:13 字數 1850 閱讀 7603

批處理是一門簡單的指令碼語言,雖然不能獨當一面,但可以作為工作中的輔助工具

和其他語言相比,批處理語言有其先天性的優勢:

1、系統自帶,無需另行安裝;

2、命令少,語句簡潔,上手非常快;

3、編寫出來的指令碼小巧玲瓏,隨寫隨用;

一,語句結構(選擇和迴圈)

1. if  ----- 條件判斷語句(選擇結構)

判斷資訊是否相等(==)  判斷錯誤級別(%errorlevel%)  判斷檔案是否存在  

判斷ms-dos擴充套件版本號(擴充套件用法)  判斷變數是否存在(擴充套件用法)  資訊比較運算(擴充套件用法)

(1) 判斷資訊是否相等(==)

@echo off

if/i abc==abc (

echo abc euqal abc

) else

( echo abc not euqal abc

)pause>nul

::忽略大小寫請在if後加開關/i

(2) 判斷錯誤級別(%errorlevel%)

錯誤級別「errorlevel」是ms_dos的內建環境變數,主用於上一條命令是否執行成功,成功返回0,失敗返回相應的錯誤級別碼。

@echo off

if%errorlevel%==0

( echo success!)

else

( echo failed!)

pause>nul

::這種方式作為關鍵字使用,"number"作為錯誤級別碼,「not」作為相反操作

(3)判斷檔案是否存在

@echo off 

ifexist c:\a.txt (

echo file

is find!

del c:\a.txt

) else

( echo file

is not found!)

pause>nul

:: "exist",是關鍵字表示「存在」;"not"作為相反操作

***** 擴充套件用法:該用法需要在啟動命令擴充套件後才可使用,而命令擴充套件預設是啟用的 *****

(4) 判斷ms-dos擴充套件版本號(擴充套件用法)

(5) 判斷變數是否存在(擴充套件用法)

(6)資訊比較運算(擴充套件用法)

運算元可以是字串、數值、變數,在命令擴充套件下支援的比較運算子有六種:

"equ(等於)", "neq(不等於)", "lss(小於)", "leq(小於等於)", "gtr(大於)", "geq(大於等於)" ,當比較的是字串時,將被轉換為ascii碼進行比較

@echo off

set var1=123

set var2=abc

set var3=12

:: /i,比較過程中忽略大小寫;%var2%,輸出變數值,是運算元1;equ,比較運算子

:: ^,是轉義字元

if /i %var2%equ abc (

if %var1% geq %var3%(

echo %var1%^>=%var3%)

else

( echo %var1%^<%var3%)

) else

( echo %var2%不等於abc

)pause>nul

(7)檢測某個變數是否已經被定義

set

"str1=ok"if

defined str1 echo str1已經被定義

if defined str3 (echo str3已經被定義) else

(echo str3 沒有被定義)

pause>nul

批處理SQL語句

作用 想傳送多條sql,又要降低與資料庫系統的互動,這時使用批處理 一 statement物件 適合對不同結構的sql語句進行批處理操作 步驟 1 將給定的 sql 命令新增到此 statement 物件的當前命令列表中 void addbatch string sql 2 將一批命令提交給資料庫來...

批處理之IF語句

在批處理程式中執行條件處理。如果if命令中指定的條件為真,windows 將執行該條件後的命令。如果條件為假,windows 將忽略if子句中的命令,並執行else子句中的任何命令 如果已經指定了命令 if not errorlevelnumber command elseexpression if...

批處理SQL語句

作用 想傳送多條sql,又要降低與資料庫系統的互動,這時使用批處理 一 statement物件 適合對不同結構的sql語句進行批處理操作 步驟 1 將給定的 sql 命令新增到此 statement 物件的當前命令列表中 void addbatch string sql 2 將一批命令提交給資料庫來...