基本信息
批處理文件在整理借書證信息中的使用,可以大幅提升工作效率并确保借書證信息的正确性。
批處理的本質,是一堆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再進行循環。