?????????????????????????????????????????
??????????????????????????????????????????????????? 張小星
?
一.什么是批處理文件
??????? 批處理文件( BATCHFILE ,簡稱 BAT 文件)是一種在 DOS 下最常用的可執(zhí)行文件。它具有靈活的操縱性,可適應(yīng)各種復(fù)雜的計算機操作(指在 DOS 下)。所謂的批處理,就是按規(guī)定的順序自動執(zhí)行若干個指定的 DOS 命令或程序。即是把原來一個一個執(zhí)行的命令匯總起來,成批的執(zhí)行。
?
二.如何編輯一個 BAT 文件
??????? 編輯一個 BAT 文件是一件很簡單的事,任何一個能編輯 ASCII 字符的程序都可以用來編輯或創(chuàng)建 BAT 文件。例如 DOS 下的 EDIT 。 COM 、 WPS 文字處理系統(tǒng), WINDOWS 下的 NOTEPAD 等。最簡單的方法是用 COPY CON [ 主文件名。 BAT] 來創(chuàng)建 BAT 文件,在創(chuàng)建完后按 CTRL+Z 鍵來結(jié)束。但這種方法的缺點是只能寫,不能改。
??????? BAT 文件的編寫規(guī)則也很簡單,即一條命令單獨占用一行,不能將兩條命令寫在同一行中。 ??????? 如果沒有轉(zhuǎn)移語句, BAT 文件將順序執(zhí)行每一條語句。
?
三. BAT 常用命令詳解
1 . ? ECHO 和 @?
???? 作用 ?????????? 顯示或隱藏屏幕顯示,在屏幕上顯示文本信息。
???? 使用方法 ?????? ECHO? ON | OFF?? 使整個屏幕顯示或不顯示
??????????????????? @????? ??????????? 使一句語句不在屏幕上顯示
???? 例 ??? @echo off??? (? 使整個屏幕不顯示,包括該語句本身 )
???? 例 ??? echo? 這句話將顯示在屏幕上
2 . ? REM
???? 作用 ?????????? 給命令加上注釋,使一句語句失去作用
???? 使用方法 ?????? REM [ 注釋語句 ]
???? 例 ???????????? REM ?DEL*.*??? ( 不執(zhí)行刪除命令 )
3 . ? PAUSE
???? 作用 ???????? 暫停命令的執(zhí)行,主要用于 BAT 的調(diào)試階段。暫停時可按 ??????????????????????????????????????? ?????????????????????????????????????????????ctrl+break 或 ctrl+c 來停止 BAT 的執(zhí)行。
???? 使用方法 ?????? PAUSE
???? 例 ??????? ?????PAUSE? [ 文本信息 ]??? (暫停并顯示文本信息)
4 . ? %0-%9 批處理參數(shù)
???? 作用 ?????????? 代替命令中的參數(shù)
???? 使用方法 ?????? < 命令名 >? [ 批處理參數(shù) 1] [ 批處理參數(shù) 2] ···
???? 例 ???????????? 有批處理文件名為 GO 。 BAT ,清單如下
??????????????????? @echo off
??????????????????? echo this is a demo bat
??????????????????? cd? %1
???????????????????
??????????????????? 當鍵入文件名及參數(shù) c:\ 時 ??? go c:\
??????????????????? 則效果等同于 cd c:\
5.?? ?SHIFT
???? 作用 ?????????? 更新批處理參數(shù)所代替的命令參數(shù),每運行一次,命令參數(shù)前移一位。
???? 使用方法 ?????? shift
???? 例 ??????? ????? 有批處理文件名為 DEMO 。 BAT ,清單如下
??????????????????? @echo off
??????????????????? if “%1”=”” goto end?? ( 有關(guān) if 語句,參見下文 )
??????????????????? rem 判斷 %1 所代表的是否為空,為空則轉(zhuǎn)到 end 語句
??????????????????? dir %1
??????????????????? Shift
??????????????????? : end
???????????????????
??????????????????? 當鍵入 ?? demo? a: b: c: d: 時,效果為列 A 、 B 、 C 、 D 四個磁盤的目錄
6 . ? GOTO????????
???? 作用 ?????????? 轉(zhuǎn)到指定段。
???? 使用方法 ?????? goto?? < 段名 >
???? 例 ??????? ?????goto? start?? ( 轉(zhuǎn)到 start 段,其中 start 為段名,須加“:”以便和命令名相區(qū)別。 )
7.??? IF
???? 作用 ?????????? 用于條件判斷
???? 使用方法 ?????? 1. IF[NOT] EXIST < 文件名 > < 命令 >
??????????????????? 2. IF [NOT] ?< 字符串 1 >=< 字符串 2>
??????????????????? 3. IF ERRORLEVEL (N) < 命令 >
???? 作用 ?????????? 1. 如果 ( 不 ) 存在所選文件則執(zhí)行所帶命令
??????????????????? 2. 如果字符串 1( 不 ) 等于字符串 2, 則執(zhí)行所帶命令
??????????????????? 3. 如果命令執(zhí)行后的錯誤等級碼是(不是) N , 那么執(zhí)行所帶命令。
???? 例 ??????? ?????1.if exist demo.bat echo this is a demo ( 如果 demo.bat 文件存在 , 顯示 this is a demo)
??????????????????? 2.if “x”=”1” echo the answer is right? ( 如果 x=1, 顯示 the answer is right)
???????? ???????????3.if errorlevel 2 echo good luck?? ( 如果錯誤碼為 2, 顯示 good luck)
8.?? FOR
作用 ??????????? 用一個臨時參數(shù)代替括號中的對象
使用方法 ??????? for <%% 參數(shù)名 > in <( 對象 1 、對象 2 ··· )> do < 命令 >
例 ????????????? for %% d in (a: b: ) do format %%d? ( 效果等同于格式化 A 盤和 B 盤 )
9.?? SET???????????
作用 ??????? ???? 設(shè)置環(huán)境變量
使用方法 ??????? set < 變量名 >=< 對象 >
例 ????????????? set ff=45? ( 使變量 ff 的值為 45)
10 . CHOICE
作用 ??????????? 為進行交互式選擇提供手段。
使用方法 ??????? choice [/c: 字母 ] [/n ] [/s ] [/t: 字母,秒數(shù) ] [ 說明信息 ]
??????????????? [/c:/ 字母 ] :指定那些字母用于選擇操作,每個字母之間用逗號隔開。缺省為 y,n
??????????????? [/n] :不顯示供選擇的字母
??????????????? [/s:] :對輸入的字母區(qū)分大小寫
??????????????? [/t: 字母,秒數(shù) ] :限定選擇所用的秒數(shù)( 0-99 )過時則以指定的字母作為選擇
??????????????? [ 說明信息 ] :顯示其后的信息用于說明
??????????????? choice 和 if 的第三種用法可配合使用,具體方法是,當你選第一個字母時, errorlevel 為 1 ,第二個為二···
例 ????????????? choice [/c: a,b,c]
?????? ?????????if errorlevel 3 echo your choice is c
??????????????? if errorlevel 2 echo your choice is b
??????????????? if errorlevel 1 echo your choice is a
?
四.結(jié)語
???????? 要編好 BAT 文件,關(guān)鍵在于多實踐。要將 BAT 應(yīng)用于日常工作中。在不少軟件中都有 BAT ,有興趣可以拿他們看一看,以提高自己的編程技巧。只要認真的學(xué),你不久就會發(fā)現(xiàn) BAT 為你的計算機管理帶來的巨大方便。