close

世博 上海 NBA官網 世足賽 親親 MS-DOS的批次檔 批次檔的介紹和規格甚麼是批次檔:   在DOS系統下,有三類檔案是可以使DOS執行而進行某些工 作,這三類檔案分別有以下三個不同的副檔名: 1. .com (指令檔,命令檔): 例如 Command.com, Edit.com 等。 2. .exe (執行檔): 例如 Copy.exe, Mem.exe 等。 3. .bat (批次檔): 例如 Autoexec.bat 等。   其中 .com 及 .exe 的檔案是用編譯或組合語言寫出,需要 較多工夫來學習編寫,一般終端用者 (end-user) 不會花時間來 學習編寫這些程式,但 .bat 的批次檔是一連串的 DOS 內部或 外部指令 (批次檔的意思是 "指令集") ,或是執行程式的主檔 名,因此只要懂得這些指令,加上一些簡單的語法,就可寫出批 次檔。終端用者利用自己編寫的批次檔,就可使 DOS 執行自己編 定的程序。   批次檔是由 DOS 指令組成,因此批次檔有錯誤時,就等於我 們在提示號 (C:\)鍵入錯的指令一樣,螢幕會有 "Bad command or file name" 的回應。   批次檔必定要是純文字檔案,可使用 DOS 的編輯器(DOS Editor)   或用windows內的 "記事本" 寫出來,這兩個都是簡單的文書處理器 ,文稿內不含任何控制碼 (如字款和字的大小,文章闊度等等),這 就最適合用來編來批次檔。   批次檔的規格: 1. 批次檔要以純文字寫出,每一項指令要在一行中完成,不能分兩 行,每行最多是 127 個字。每一行只能容納一個指令,兩個指令就 要分兩行 (或用連結符號)。 2. 批次檔的檔案要用 .bat 為副檔名,除了 Autoexec.bat,主檔名 由用者自定,但最好避免和 DOS 指令同名,例如不要用 Copy.bat、 Del.bat、Dir.bat、Exit.bat 等等。 3. 批次檔需用 DOS 指令加上特定語次寫成,這些指令包括 DOS 內部 及外部指令,語法有以下各項: call choice echo for...in...do goto if(if exit)(if not exist) pause rem shift     指令錯誤會有 "Bad command or file name" 回應,語法錯誤會 有 " Syntax error" 的回應。 4. 要 DOS 執行批次檔的指令,只需鍵入主檔名,例如 Menu.bat 或 menu。   不過若批次檔的主檔名和 .com 或 .exe 的主檔名相同時,就要 鍵入全名,例如批次檔的名稱是 copy.bat 或 edit.bat時,就要鍵入 copy.bat 或 edit.bat 才能使電腦執行批次檔的指令,否則電腦會執 行 copy.exe 或 edit.com 這些 DOS 指令。 5. 在批次檔執行途中,一起按下 [Ctrl]+[C] 或 [Ctrl]+[Break] 可 終止程序。按下這兩個鍵後,螢幕會顯示: Terminate batch job (y/N)?     按 [Y] 會終止這批次檔和回到 DOS 的提示號,按 [N] 則取消 [Ctrl]+[C] 指令,批次檔會繼續執行程序。 早期在DOS系統工作下,都可能需要使用批次檔來執行電腦工作,當文字介面的系統逐漸被Windows、Unix系統(圖形介面)所取代時,現今一般使用電腦的人,可能也不是很清楚什麼是批次檔,我們今天就來介紹何謂批次檔。 批次檔是一種文字檔案(ASCII檔案),由一連串的MS-DOS命令所組成的。批次檔的命名規則與一般檔案相同,但其副檔名固定為".BAT",即"將 一連串的命令"儲存在檔案中,該批次檔的指令可無限制的重覆使用,永遠得到相同的執行結果。究竟批次檔又該如何使用呢?以下介紹批次檔的常用指令。 批次檔的常用指令如下: 一、 ECHO 在正常的情況下,批次檔中的每道命令執行前都會先出現螢幕上。有了ECHO命令,就可以任意控制是否列印出命令列。 用法:在批次檔中鍵入echo on/off ,on:表示要印出命令列,off:則不印出命令列,若要禁止批次檔的命令顯示在螢幕上,則使用隱藏echo off(@ECHO OFF),用法在命令列的開頭上加上@符號 Ex: @echo off 表示資料隱藏 echo .... 測試ECHO指令 echo .... 請稍後 echo .... 完成..... 結果: 二、 代換參數 代換參數的標記是一個百分號(%)再跟著一個阿拉伯數字,最多可使用10個代換參數,這些變數的值,則由呼叫批次檔的命令所指定。 Ex: @echo off echo .... 測試代換參數指令 echo .... 請稍後 echo .... 完成..... echo %1 %2 %3 %4 結果: 三、 PAUSE:是暫停批次檔的執行。當MS-DOS執行到PAUSE時就暫時中止目前的工作,並印出下列訊息: press any key to contunue …… Ex: @echo off echo .... 測試代換參數指令 echo .... 請稍後 echo .... 完成..... echo %1 %2 %3 %4 pause echo %5 %6 結果: 四、 REM(REMark)用來在批次檔執行中顯示某些訊息,用法是在批次檔中鍵入rem,後面跟著所要顯示的字串 Ex: @echo off echo .... 測試代換參數指令 echo .... 請稍後 echo .... 完成..... rem 下面指令,開始做代換參數 echo %1 %2 %3 %4 pause echo %5 %6 五、 IF IF命令在批次檔中用來測試特定的條件,以決定是否執行某些命令。絛件的型態分為四種: (1) IF EXIST 此條件是用來檢查某一檔案是否存在,若存在則條件成立,便執行指定的命令 Ex: @echo off if exist test1.bat type test1.bat echo 執行程式結束 結果: (2) IF String1 = = String2(= = 表相等性的比較) Ex: @echo off echo .... 測試IF指令 echo %1 if %1 == a goto first if %1 == b goto second if %1 == c goto three :first echo 執行first (a) goto finish :second echo 執行second (b) goto finish :three echo 執行three (c) goto finish :finish 結果: (3) IF ERRORLEVEL ERRORLEVEL是由MS-DOS所管理的一個系統變數,目的是監視所有錯誤發生的情況。(類似ErrorMessage) (4) IF NOT IF NOT是當測試條件不成立時才執行後面命令 Ex: @echo off if not exist test1.bat type test1.bat echo 執行程式結束 結果: 六、 GOTO GOTO命令在批次檔中用來轉移控制權,可以指示批次檔跳至某一標記(line label)由一個冒號(:)跟著字元符號所組成的;label也可使用代換變數 Ex: goto first 或 goto %1 七、 FOR FOR命令允許批次檔中的其他命令,可以重覆地執行 for %%a IN (file1 file2 file3) DO del %%a 虛擬變數必須以兩個百分號(%%)起頭,in後面著參數列,do後面跟著要執行的命令 Ex: @echo off echo .... 測試FOR指令 echo .... 請稍後 echo .... 完成..... echo .... for %%a IN (test_a.bat test_b.bat test_c.bat) do copy %%a prn 結果: 八、 SHIFT SHIFT命令允許在批次檔的起動命令中,使用超過10以上的實際參數 (%0~%9) 九、 CALL 模組化的程式設計,是將一個完整的程式分割成一個個獨立的模組(module),每個模組負責一項功能 Ex: @echo off echo .... 測試CALL指令 echo .... 請稍後 echo %1 %2 call test_b echo %3 %4 echo 程式模組已執行完畢 (test_a.bat) @echo off echo 執行test_b程式 echo 即將執行test_c ..... call test_c echo 執行test_b程式完畢~~~ (test_b.bat) @echo off echo 執行test_c程式 if exist test2.bat type test2.bat echo 執行test_c程式完畢~~~ (test_b.bat) 執行 test_a 結果: 有興趣的讀者,不妨逛個書局找本MS-DOS書籍看看唄!2


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 qaaozthffgqes 的頭像
    qaaozthffgqes

    qaaozthffgqes的部落格

    qaaozthffgqes 發表在 痞客邦 留言(0) 人氣()