批次檔
此條目或其章節需要精通或熟悉相關主題的編者參與及協助編輯。 (2014年9月26日) |
此條目沒有列出任何參考或來源。 (2014年9月26日) |
副檔名 |
.bat .cmd .btm |
---|---|
格式類型 | 腳本語言 |
作為容器 | Shell script |
批次檔(英語:Batch file),又稱批處理文件,在DOS、OS/2、微軟視窗系統中,是一種用來當成腳本語言運作程式的檔案。它本身是文本文件,其中包含了一系列讓具備命令行界面的直譯器讀取並執行的指令。它相當於是類Unix系統下的Shell script。
在DOS及Windows 9x作業系統家族中,批次檔的副檔名為.bat。在OS/2及Windows NT作業系統家族,批次檔的副檔名為.cmd。當執行批次檔時,shell程式(通常是COMMAND.COM或cmd.exe)會讀取檔案內容,之後通常是以逐行的方式,執行它的命令。
語言特性
批處理文件的每一條語句都是一個命令,換言之就是一個可以賦予參數運行的程序。這與Shell是相通的。
流程控制
注釋
批處理文件的注釋有兩種方式:第一種是使用rem命令,其參數為注釋內容;第二種是借用跳轉標記的語法,因為跳轉標記在批處理中不會被執行,可以以半角冒號(:)開頭書寫注釋,類似於C語言的「//」與Python的「#」。
但是,有別於其他腳本語言,批處理並不支持行內注釋。
以下的例子綜合演示了兩種注釋:
rem 这是一个用rem命令写的注释
:这是一个用跳转标记写的注释
回顯控制
默認情況下,批處理文件的每條命令在運行時都會回顯出來。回顯,指的是命令的內容出現在提示符後,被系統輸出。這一過程類似於我們手工在命令提示符中輸入命令並運行,命令的文本是可見的。
但是,很多時候,在使用批處理設計一些交互式程序時,我們不希望回顯干擾屏幕的顯示。這時就可以對回顯的內容進行控制。方法有兩種:
- 局部關閉回顯
- 只需在需要禁用回顯的命令前加上「@」符號,那麼該條命令就不會有回顯。
- 全局關閉回顯
- 使用命令「echo off」,其後的所有語句都不會有回顯。若要重新打開,使用「echo on」。
值得注意的是,「echo off」語句本身也會有回顯。因此通常為了完全關閉回顯,也會在其前面加上「@」符號。
對其他批處理文件的調用
使用「call」語句,可以在一個批處理文件中調用其他的批處理。
本地化操作
批處理的Hello World程序
將下列代碼保存為一個批處理文件,雙擊或在命令解釋器CMD或COMMAND.COM中運行。
@echo off
echo Hello world!
pause
編輯器支持
批處理文件本質上是純文本文件,使用Windows自帶的「記事本」即可編寫。而一些代碼編輯器也為批處理文件提供了語法高亮的支持,批處理文件的內部命令,以及一些常用的系統命令都能夠高亮標記出來。