批處理文件

批處理文件

文本文件
批處理文件是指後綴是bat的文件就是批處理文件,是一種文本文件。簡單的說,它的作用就是自動的連續執行多條命令,批處理文件的内容就是一條一條的命令。批處理文件是無格式的文本文件。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統就會調用Cmd.exe按照該文件中各個命令出現的順序來逐個運行它們。使用批處理文件(也被稱為批處理程序或腳本),可以簡化日常或重複性任務。
    中文名:批處理文件 外文名: 所屬學科: 英文名:BATCH 運用平台:DOS或Windows系統 特點:無格式的文本文件 作用:簡化日常或重複性任務 本質:DOS命令按序排列形成的集合 調用方式:CMD 高級命令:if、choice、for 常見後綴:bat或cmd

基本信息

批處理文件在整理借書證信息中的使用,可以大幅提升工作效率并确保借書證信息的正确性。

批處理的本質,是一堆DOS命令按一定順序排列而形成的集合。

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

此外電腦每次啟動時都會尋找autoexec.bat這條批處理文件,從而可執行一些每次開機都要執行的命令,如設置路徑path、加載鼠标驅動mouse、磁盤加速smartdrv等,可以使您的電腦真正自動化。

echo、@、call、pause、rem是批處理文件最常用的幾個命令,我們就從他們開始學起。echo表示顯示此命令後的字符。

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

@與echooff相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。

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

pause運行此句會暫停,顯示Pressanykeytocontinue...等待用戶按任意鍵後繼續。

rem表示此命令後的字符為解釋行,不執行,隻是給自己今後查找用的。

例:用edit編輯a.bat文件,輸入下列内容後存盤為c:a.bat,執行該批處理文件後可實現:将根目錄中所有文件寫入a.txt中,啟動UCDOS,進入WPS等功能。

文件内容

批處理文件的内容為:文件表示:echooff不顯示命令行;

dirc:*.*>a.txt将c盤文件列表寫入a.txt;

callc:ucdosucdos.bat調用ucdos;

echo你好顯示"你好";

pause暫停,等待按鍵繼續;

rem使用wps注釋将使用wps;

cducdos進入ucdos目錄。

批處理文件中還可以像C語言一樣使用參數,這隻需用到一個參數表示符%。

%表示參數,參數是指在運行批處理文件時在文件名後加的字符串。變量可以從%0到%9,%0表示文件名本身,字符串用%1到%9順序表示。

例如,C:根目錄下一批處理文件名為f.bat,内容為format%1。

則如果執行C:>fa:則實際執行的是formata。

又如C:根目錄下一批處理文件的名為t.bat,内容為type%1type%2。

那麼運行C:>ta.txtb.txt将順序地顯示a.txt和b.txt文件的内容。

ifgotochoicefor是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。

if表示将判斷是否符合規定的條件,從而決定執行不同的命令。有三種格式:

1、if"參數"=="字符串"待執行的命令。

參數如果等于指定的字符串,則條件成立,運行命令,否則運行下一句。(注意是兩個等号)

如if"%1"=="a"formata。

2、ifexist文件名待執行的命令。

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

3、iferrorlevel數字待執行的命令。

如果返回碼等于指定的數字,則條件成立,運行命令,否則運行下一句。如iferrorlevel2gotox2DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼。

标号用:字符串表示,标号所在行不被執行。

此文件運行後,将顯示defrag,mem,end[D,M,E]?用戶可選擇dme,然後if語句将作出判斷,d表示執行标号為defrag的程序段,m表示執行标号為mem的程序段,e表示執行标号為end的程序段,每個程序段最後都以gotoend将程序跳到end标号處,然後程序将顯示goodbye,文件結束。

DOS在啟動會自動運行autoexec.bat這條文件,一般我們在裡面裝載每次必用的程序,如:path(設置路徑)、smartdrv(磁盤加速)、mouse(鼠标啟動)、mscdex(光驅連接)、doskey(鍵盤管理)、set(設置環境變量)等。

常用命令

echo命令

打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo命令将顯示當前回顯設置。

在實際應用中我們會把這條命令和重定向符号(也稱為管道符号,一般用>>>^)結合來實現輸入一些命令到特定的文件中。

@命令符

@與echooff功能相似,但它是加在其他命令行的最前面,表示運行時不顯示命令行本身。

@echooff。

@echoNowinitializingtheprogram,pleasewaitaminite。

@formatX:/q/u/autoset//format命令不可以使用/y參數,但可以使用autoset這個參數,效果和y是一樣的。

call命令

call命令用于從一個批處理程序調用另一個批處理程序,而不終止父批處理程序。call命令提示接受用作調用目标的标簽。如果再腳本或批處理文件外使用call命令,則其不會在命令行起作用。

語法:call[[Drive:][Path]FileName[Bathparameters]][:labe][Arguments]]。

參數:[Drive:][Path]FileName。

指定要調用的批處理程序的位置和名稱。FileName參數必須有.bat或.cmd擴展名。

Batchparameters指定批處理程序所需的任何命令行信息,包括命令行選項、文件名、批處理參數(即從%0到%9)或變量(例如,%baud%)。

指定批處理程序要跳轉到的标簽。使用帶有該參數的call命令,可以創建新的批處理文件上下文,并将控制權交給指定标簽後的語句。首先遇到該處理文件的末尾時(在跳轉到标簽後),控制權将交還給call語句後的語句。第二次遇到批處理文件的末尾時,将推出批處理腳本。

對于以:Label開始的批處理程序,指定要傳遞給其新實例的所有命令行信息,包括命令行選項、文件名、批處理參數(即從%1到%9)或變量(例如,%baud%)。

rem命令

注釋命令,類似于在C語言中的/*--------*/,它并不會被執行,隻是起一個注釋的作用,便于别人閱讀和你自己日後修改。

pause命令

暫停命令。運行Pause命令。

在這個例子中,驅動器G中磁盤上的所有文件均複制到d:back中。顯示的注釋提示您将另一張光盤盤放入驅動器G時,pause命令會使程序挂起,以便您更換光盤,然後按任意鍵繼續處理。

start命令

調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。

goto命令

跳轉命令。程序指針跳轉到指定的标簽,從标簽後的第一條命令開始繼續執行批處理程序。

标簽的名字可以随便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是标簽,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你别人看起來才會理解你的意圖啊。

set命令

顯示、設置或删除變量。

顯示變量:set或sets前者顯示批處理當前已定義的所有變量及其值,後者顯示所有以s開頭的變量及值。

設置變量:setaa=abcd此句命令便可向變量aa賦值abcd。如果變量aa已被定義,則aa的值被修改為abcd;若aa尚未定義,則此句命令即可定義新的變量aa,同時為變量aa賦予初始值abcd。

删除變量:setaa=此句命令即可删除變量aa。若變量aa已被定義,則删除變量aa;若aa尚未定義,則此句命令沒實質意義。

需要說明的是,批處理中的變量是不區分類型的,不需要像C語言中的變量那樣還要區分int、float、char等。比如執行setaa=345後,變量aa的值既可以被視為數字345,也可以被視為字符串345。

set命令具有擴展功能,如用作交互輸入、字符串處理、數值計算等,屬于高級命令範疇。

高級命令

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

if命令

強制字符串比較忽略大小寫。可以在if的String1==String2格上使用/i。這些比較是通用的。因為如果String1和String2全部由數字組成,則字符串将轉化為數字并執行比較。

隻有與cmd.exe的“命令擴展”功能相關的内部版本号等于或大于Number時,才指定真條件。第一版本是1。當命令擴展的功能有重大增強時,則在此号碼上加1。禁用命令擴展時(默認情況下命令擴展為啟用),cmdextversion條件不為真。

choice命令

使用choice命令,在批處理程序中,通過顯示提示信息并暫停批處理程序,用戶可以從一組選項鍵中進行選擇。

語法:choice[/c[Choices]][/n][/cs][/tTimeout/dChoice][/mText]。

參數:/cChoices,指定用戶選項鍵。顯示時,選項鍵由逗号分隔,出現在中括号([])中,後面跟着問号。如果未指定“/cChoices”,默認情況下,Choice顯示使用[Y,N]。

隐藏用戶選項鍵。如果使用此命令行選項,将在提示符之前出現消息正文,選項仍處于啟用狀态。

指定用戶選項鍵必須區分大小寫。默認情況下,用戶選項鍵不區分大小寫。

指定在默認為指定鍵之前choice暫停指定的秒數。表2描述了/t命令行選項的值。

指定要在提示符之前顯示的文字。如果使用包括命令行選項字符(即“/”)作為提示符之前的一部分文字,必須用引号将該文字引起來。如果未指定任何文字,choice将隻顯示提示符。

然後if語句将做出判斷,d表示執行标号為defrag的程序段,m表示執行标号為mem的程序段,c表示執行标号為end的程序段,每個程序段最後都以gotoend将程序跳到end标号處,然後程序将顯示goodbye,程序結束。

for命令

for命令用于對一組文件中的每個文件運行指定的命令。

必需參數,代表可替換的參數。使用%Variable通過命令提示符執行for命令。使用%%Variable在批處理文件中執行for命令。變量要區分大小寫,并且必須用Alpha值表示,例如%A、%B或%C。

必需參數,指定要用指定命令處理的一個或多個文件、目錄、數值範圍以及文本字符串。需要括号。

必需參數,指定要對包括在指定的(Set)中每個文件、目錄、數值範圍以及文本字符串所執行的命令。

指定要與所指定命令一起使用的任何命令行選項。

循環命令隻要條件符合,它将多次執行同一命令,同時for的循環裡面還可以套用for再進行循環。

相關詞條

相關搜索

其它詞條