批處理

批處理

批處理腳本
批處理(Batch),也稱為批處理腳本。[1]顧名思義,批處理就是對某對象進行批量的處理。
    中文名:批處理 外文名: 别名: 解釋:批處理就是對某對象進行批量的處理

原理

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

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

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

批處理能有效地提高計算機的利用率,是最經濟的處理方法。但是在批處理中,用戶提交作業後便失去了對作業的控制和修改能力,用戶必須以作業說明書的形式向系統提供控制信息,還需要估計運行過程中可能出現的問題,并把處理方法事先告訴系統。對新的處理作業,用戶無法預測可能出現的事件,所以希望系統有與用戶交互作用的能力(見交互式處理)。

這種情況不适合采用批處理。另外,在批處理系統中,用戶提交作業後通常要經過幾小時甚至幾天的時間才能得到所需要的結果,這樣長的周轉時間對那些僅計算一個很小的題目,或隻對已存文件作幾行修改的短作業用戶非常不便,尤其對時間緊迫的作業更不宜選用批處理方式。在大型處理系統中,批處理經常是後台作業,前台作業采用分時處理。

分類

批處理按作業的處理次序可以分為順序批處理和随機批處理。

順序批處理

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

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

随機批處理

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

功能

其用處非常大,使用也比較廣泛。比如每次都執行一些相同的命令,您一定會覺得非常麻煩,而放在批處理文件中執行的話則輕松得多。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批處理文件是自動運行批處理文件,每次系統啟動時會自動運行該文件,你可以将系統每次啟動時都要運行的命令放入該文件中,例如設置搜索路徑,調入鼠标驅動和磁盤緩存,設置系統環境變量等。

實例

簡單的說,批處理的作用就是自動的連續執行多條命令。

這裡先講一個最簡單的應用:在啟動wps軟件時,每次都必須執行(>前面内容表示DOS提示符):

C:>cd wps

C:WPS>spdos

C:WPS>py

C:WPS>wbx

C:WPS>wps

如果每次用WPS之前都這樣執行一遍,您是不是覺得很麻煩呢?

好了,用批處理,就可以實現将這些麻煩的操作簡單化,首先我們編寫一個runwps.bat批處理文件,内容如下:

@echo off

c:

cdwps

spdos

py

wbx

wps

cd

以後,每次進入wps,隻需要運行runwps這個批處理文件即可。

命令

echo、@、call、pause、rem 是批處理文件最常用的幾個命令。

echo 表示顯示此命令後的字符

echo off 表示在此語句後所有運行的命令都不顯示命令行本身

@與echo off相象,但它是加在每個命令行的最前面,表示運行時不顯示這一行的命令行(隻能影響當前行)。

call 調用另一個批處理文件(如果不用call而直接調用别的批處理文件,那麼執行完那個批處理文件後将無法返回當前文件并執行當前文件的後續命令)。

pause 運行此句會暫停批處理的執行并在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵後繼續

rem 表示此命令後的字符為解釋行(注釋),不執行,隻是給自己今後參考用的(相當于程序中的注釋)。

特殊命令

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

一、if 是條件語句,用來判斷是否符合規定的條件,從而決定執行不同的命令。有三種格式:

if [not] "參數" == "字符串"待執行的命令

參數如果等于(not表示不等,下同)指定的字符串,則條件成立,運行命令,否則運行下一句。

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

if [not] exist [路徑]文件名 待執行的命令

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

如: if exist c:config.sys type c:config.sys

表示如果存在c:config.sys文件,則顯示它的内容。

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為擴展名的文件的内容。

參數

批處理文件還可以像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          指定提示之前要顯示的消息。如果沒有指定,工具隻

                       顯示提示。

   /?                  顯示幫助消息。

上一篇:ARP欺騙

下一篇:融合通信

相關詞條

相關搜索

其它詞條