批處理是一門簡單的指令碼語言,雖然不能獨當一面,但可以作為工作中的輔助工具
和其他語言相比,批處理語言有其先天性的優勢:
1、系統自帶,無需另行安裝;
2、命令少,語句簡潔,上手非常快;
3、編寫出來的指令碼小巧玲瓏,隨寫隨用;
一,語句結構(選擇和迴圈)
1. if ----- 條件判斷語句(選擇結構)
判斷資訊是否相等(==) 判斷錯誤級別(%errorlevel%) 判斷檔案是否存在
判斷ms-dos擴充套件版本號(擴充套件用法) 判斷變數是否存在(擴充套件用法) 資訊比較運算(擴充套件用法)
(1) 判斷資訊是否相等(==)
@echo offif/i abc==abc (
echo abc euqal abc
) else
( echo abc not euqal abc
)pause>nul
::忽略大小寫請在if後加開關/i
(2) 判斷錯誤級別(%errorlevel%)
錯誤級別「errorlevel」是ms_dos的內建環境變數,主用於上一條命令是否執行成功,成功返回0,失敗返回相應的錯誤級別碼。
@echo offif%errorlevel%==0
( echo success!)
else
( echo failed!)
pause>nul
::這種方式作為關鍵字使用,"number"作為錯誤級別碼,「not」作為相反操作
(3)判斷檔案是否存在
@echo offifexist 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 offset 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 將一批命令提交給資料庫來...