標籤: 暫無標籤

批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理。

批處理批處理
批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件後綴BAT就取的前三個字母。它的構成沒有固定格式,遵守以下這條:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平台是DOS。批處理有一個很鮮明的特點:使用方便、靈活,功能強大,自動化程度高。

1 批處理 -原理

把要處理的信息分成組,成批地交給信息系統自動處理。在以計算機為主的信息系統中,信息的輸入、輸出速度與信息處理的速度不相匹配。為了減少人工操作時間和改善機器的利用情況,把要處理的信息(例如工資卡、庫存記錄等)按一定周期收集在一起,成批地交給系統進行處理。所有的作業也可適當地分批,系統啟動后自動地處理第一個作業,處理完后不需操作員干預而自動地過渡到處理下一個作業,直至一批作業處理完畢為止。
  
批處理批處理與聯機處理

早期的批處理對作業的輸入輸出採取聯機處理,高速的中央處理機要等待低速的聯機輸入、輸出設備,不能發揮應有的效率。後來採用離線處理:先把若干個作業輸入到磁帶上,中央處理器從磁帶上把作業調入並執行,作業完成後把結果記錄在磁帶上,再由外圍機將磁帶上的信息輸出。這樣中央處理機得以擺脫低速的輸入、輸出設備的牽制,提高處理能力。  

如果數據是在遠方收集,通過終端送入數據採集器,數據採集器先將一段時間內的信息存儲起來,再通過傳輸線路將它們成批地送入系統進行處理,則這種處理方式稱為遠程批處理。

批處理能有效地提高計算機的利用率,是最經濟的處理方法。但是在批處理中,用戶提交作業后便失去了對作業的控制和修改能力,用戶必須以作業說明書的形式向系統提供控制信息,還需要估計運行過程中可能出現的問題,並把處理方法事先告訴系統。對新的處理作業,用戶無法預測可能出現的事件,所以希望系統有與用戶交互作用的能力(見互動式處理)。這種情況不適合採用批處理。另外,在批處理系統中,用戶提交作業后通常要經過幾小時甚至幾天的時間才能得到所需要的結果,這樣長的周轉時間對那些僅計算一個很小的題目,或只對已存文件作幾行修改的短作業用戶非常不便,尤其對時間緊迫的作業更不宜選用批處理方式。在大型處理系統中,批處理經常是後台作業,前台作業採用分時處理。

2 批處理 -分類

批處理順序批處理
批處理按作業的處理次序可以分為順序批處理和隨機批處理。
順序批處理  
對成批的信息按規定的順序自動地依次進行處理。傳統的處理方法是父-子方法。按信息處理要求對原來的主文件(父)進行修改,建立新的主文件(子),將它作為下一次運行的父文件,而原來的父文件自動地成為後備文件。這種處理方式的優點是主記錄的插入、刪除容易,新老文件可以選用同一類型的外圍設備,平均訪問時間短。缺點是老文件中不常用的部分也必須寫入新文件。

順序批處理中,信息輸入的順序必須與文件的順序嚴格一致。事先把信息經過分類和排序,記錄在磁帶或卡片上,批處理一旦開始,在一個預定的時間內,所有適當的信息都進入系統,順序地進行處理。

隨機批處理 
對成批的信息僅處理需要的部分,而對其他無關部分不加任何處理(見隨機存取)。

3 批處理 -功能

批處理批處理功能界面
其用處非常大,使用也比較廣泛。比如每次都執行一些相同的命令,您一定會覺得非常麻煩,而放在批處理文件中執行的話則輕鬆得多。AUTOEXEC.BAT 就是一個特殊的批處理文件,它在DOS的啟動時自動運行,在系統的配置中發揮著非常大的作用。

批處理使用方便,只要新建一個文本文檔,把批處理語句添加進去,保存后修改文件擴展名為.bat即可雙擊使用。
擴展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批處理文件。

首先批處理文件是一個文本文件,這個文件的每一行都是一條DOS命令(大部分時候就好象我們在DOS提示符下執行的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創建和修改批處理文件。

其次,批處理文件是一種簡單的程序,可以通過條件語句(if)和流程式控制制語句(goto)來控制命令運行的流程,在批處理中也可以使用循環語句(for)來循環執行一條命令。當然,批處理文件的編程能力與C語言等編程語句比起來是十分有限的,也是十分不規範的。批處理的程序語句就是一條條的DOS命令(包括內部命令和外部命令),而批處理的能力主要取決於你所使用的命令。

第三,每個編寫好的批處理文件都相當於一個DOS的外部命令,你可以把它所在的目錄放到你的DOS搜索路徑(path)中來使得它可以在任意位置運行。一個良好的習慣是在硬碟上建立一個bat或者batch目錄(例如C:\BATCH),然後將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設置上c:\batch,你就可以在任意位置運行所有你編寫的批處理程序。

第四,在DOS和Win9x/Me系統下,C:盤根目錄下的AUTOEXEC.BAT批處理文件是自動運行批處理文件,每次系統啟動時會自動運行該文件,你可以將系統每次啟動時都要運行的命令放入該文件中,例如設置搜索路徑,調入滑鼠驅動和磁碟緩存,設置系統環境變數等。

4 批處理 -實例

批處理常見批處理案例
簡單的說,批處理的作用就是自動的連續執行多條命令。
這裡先講一個最簡單的應用:在啟動wps軟體時,每次都必須執行( >前面內容表示DOS提示符):
C:\>cd wps
C:\WPS>spdos
C:\WPS>py
C:\WPS>wbx
C:\WPS>wps
如果每次用WPS之前都這樣執行一遍,您是不是覺得很麻煩呢?
好了,用批處理,就可以實現將這些麻煩的操作簡單化,首先我們編寫一個runwps.bat批處理文件,內容如下:
@echo off
c:
cd\wps
spdos
py
wbx
wps
cd\
以後,每次進入wps,只需要運行runwps這個批處理文件即可。

5 批處理 -命令

echo、@、call、pause、rem 是批處理文件最常用的幾個命令。
echo 表示顯示此命令后的字元
echo off 表示在此語句后所有運行的命令都不顯示命令行本身
@與echo off相象,但它是加在每個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當前行)。
call 調用另一個批處理文件(如果不用call而直接調用別的批處理文件,那麼執行完那個批處理文件后將無法返回當前文件並執行當前文件的後續命令)。
pause 運行此句會暫停批處理的執行並在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵後繼續
rem 表示此命令后的字元為解釋行(註釋),不執行,只是給自己今後參考用的(相當於程序中的註釋)。

6 批處理 -特殊命令

批處理選擇批處理
if goto choice for是批處理文件中比較高級的命令。

一、if 是條件語句,用來判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:
1、if [not] "參數" == "字元串" 待執行的命令
參數如果等於(not表示不等,下同)指定的字元串,則條件成立,運行命令,否則運行下一句。
例:if "%1"=="a" format a:
2、if [not] exist [路徑\]文件名 待執行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。
如: if exist c:\config.sys type c:\config.sys
表示如果存在c:\config.sys文件,則顯示它的內容。
3、if errorlevel  數字 待執行的命令
很多DOS程序在運行結束後會返回一個數字值用來表示程序運行的結果(或者狀態),通過if errorlevel命令可以判斷程序的返回值,根據不同的返回值來決定執行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等於指定的數字,則條件成立,運行命令,否則運行下一句。
如if errorlevel 2 goto x2

二、goto 批處理文件運行到這裡將跳到goto所指定的標號(標號即label,標號用:後跟標準字元串來定義)處,goto語句一般與if 配合使用,根據不同的條件來執行不同的命令組。
如:

goto end
:end
echo this is the end
標號用「:字元串」來定義,標號所在行不被執行。

三、choice 使用此命令可以讓用戶輸入一個字元(用於選擇),從而根據用戶的選擇返回不同的errorlevel,然後於if errorlevel配合,根據用戶的選擇運行不同的命令。
注意:choice命令為DOS或者Windows系統提供的外部命令,不同版本的choice命令語法會稍有不同,請用choice /?查看用法。
choice的命令語法(該語法為Windows 2003中choice命令的語法,其它版本的choice的命令語法與此大同小異):
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述:
該工具允許用戶從選擇列表選擇一個項目並返回所選項目的索引。

四、for循環命令,只要條件符合,它將多次執行同一命令。
語法:
對一組文件中的每一個文件執行某個特定命令。
FOR %%variable IN (set) DO command [command-parameters]
  %%variable  指定一個單一字母可替換的參數。
  (set)      指定一個或一組文件。可以使用通配符。
  command    指定對每個文件執行的命令。
  command-parameters
             為特定命令指定參數或命令行開關。
例如一個批處理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
則該命令行會顯示當前目錄下所有以bat和txt為擴展名的文件的內容。

7 批處理 -參數

批處理批處理過程
批處理文件還可以像C語言的函數一樣使用參數(相當於DOS命令的命令行參數),這需要用到一個參數表示符「%」。
%[1-9]表示參數,參數是指在運行批處理文件時在文件名后加的以空格(或者Tab)分隔的字元串。變數可以從%0到%9,%0表示批處理命令本身,其它參數字元串用%1到%9順序表示。

參數列表
   /C    choices       指定要創建的選項列表。默認列表是 "YN"。
   /N                  在提示符中隱藏選項列表。提示前面的消息得到顯示,
                       選項依舊處於啟用狀態。
   /CS                 允許選擇分大小寫的選項。在默認情況下,這個工具
                       是不分大小寫的。
   /T    timeout       做出默認選擇之前,暫停的秒數。可接受的值是從 0
                       到 9999。如果指定了 0,就不會有暫停,默認選項
                       會得到選擇。
   /D    choice        在 nnnn 秒之後指定默認選項。字元必須在用 /C 選
                       項指定的一組選擇中; 同時,必須用 /T 指定 nnnn。
   /M    text          指定提示之前要顯示的消息。如果沒有指定,工具只
                       顯示提示。
   /?                  顯示幫助消息。

8 批處理 -相關教程

紅客黑客聯盟:《批處理專題》http://www.7747.net/Article/Special/all/
華夏黑客聯盟:《批處理完全精通專題》http://hack.77169.com/Special/bat/

有上百篇的技術文章,從入門到精通,面面俱到。

9 批處理 -相關下載

網路上有很多的批處理程序可以免費下載。按功能分有這幾類:
文件屬性批處理、音視頻文件批處理、辦公文件批處理、圖像文件批處理。
可在這些著名網站下載:

批處理吧:http://www.pcl8.com/
北大青鳥:http://www.gz-benet.com.cn/bbs/Show.Asp?ID=1498

10 批處理 -相關詞條

DOS彙編語言
參數命令
信息C語言


11 批處理 -參考資料

[1] 一點通 http://www.sunenze.com/jc/autoexec.asp
[2] 天極網 http://www.yesky.com/it/127/2000127.shtml
上一篇[長發]    下一篇 [UCDOS]

相關評論

同義詞:暫無同義詞