基礎中的基礎–批次檔介紹

來源:互聯網
上載者:User

副檔名是bat(在nt/2000/xp/2003下也可以是cmd)的檔案就是批次檔。

==== willsort 編注 =======================================
.bat是dos下的批次檔
.cmd是nt核心命令列環境的另一種批次檔
從更廣義的角度來看,unix的shell指令碼以及其它作業系統甚至應用程式中由外殼進行解釋執行的文本,都具有與批次檔十分相似的作用,而且同樣是由專用解譯器以行為單位解釋執行,這種文本形式更通用的稱謂是指令碼語言。所以從某個程度分析,batch, unix shell, awk, basic, perl 等指令碼語言都是一樣的,只不過應用的範圍和解釋的平台各有不同而已。甚至有些應用程式仍然沿用批處理這一稱呼,而其內容和副檔名與dos的批處理卻又完全不同。
===================================

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

==== willsort 題注 ===================
批次檔中完全可以使用非dos命令,甚至可以使用不具有可執行特性的普通資料性檔案,這緣於windows系統這個新型解釋平台的涉入,使得批處理的應用越來越"邊緣化"。所以我們討論的批處理應該限定在dos環境或者命令列環境中,否則很多觀念和設定都需要做比較大的變動。
========================

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

==== willsort 編注 ==================
批次檔(batch file)也可以稱之為批次程式(batch program),這一點與編譯型語言有所不同,就c語言來說,副檔名為c或者cpp的檔案可以稱之為c語言檔案或者c語言原始碼,但只有編譯串連後的exe檔案才可以稱之為c語言程式。因為批次檔本身既具有文本的可讀性,又具有程式的可執行性,這些稱謂的界限是比較模糊的。
===========================

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

==== willsort 編注 =====
純以dos系統而言,可執行程式大約可以細分為五類,依照執行優先順序由高到低排列分別是:DOSKEY宏命令(預先駐留記憶體),COMMAND.COM中的內部命令(根據記憶體的環境隨時進駐記憶體),以com為副檔名的可執行程式(由command.com 直接載入記憶體),以exe位副檔名的可執行程式(由command.com 重定位後載入記憶體),以bat位副檔名的批次程式(由command.com 解釋分析,根據其內容按優先順序順序調用第2,3,4,5種可執行程式,分析一行,執行一行,檔案本身不載入記憶體)
============

第四,在DOS和Win9x/Me系統下,C:盤根目錄下的AUTOEXEC.BAT批次檔是自動運行批次檔,每次系統啟動時會自動運行該檔案,你可以將系統每次啟動時都要啟動並執行命令放入該檔案中,例如設定搜尋路徑,調入滑鼠驅動和磁碟緩衝,設定系統內容變數等。下面是一個運行於Windows 98下的autoexec.bat的樣本:
@ECHO OFF
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;

C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
LH SMARTDRV.EXE /X
LH DOSKEY.COM /INSERT
LH CTMOUSE.EXE
SET TEMP=D:\TEMP
SET TMP=D:\TEMP
==== willsort 編注 =====
AUTOEXEC.BAT為DOS系統的自動運行批次檔,由COMMAND.COM啟動時解釋執行;
而在Win9x環境中,不僅增加支援了 DOSSTART.BAT, WINSTART.BAT 等許多其它自動啟動並執行批次檔,對AUTOEXEC.BAT 也增加了 .DOS .W40 .BAK .OLD .PWS 等許多變體以適應複雜的環境和多變的需求。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.