批處理的基礎知識

來源:互聯網
上載者:User

標籤:批處理的基礎知識

批處理是一種簡化的指令碼語言,也稱作宏。它應用於DOS和Windows系統中,它是由DOS或者Windows系統內嵌的命令直譯器(通常是COMMAND. COM或者CMD.EXE)解釋運行。類似於Unix中的Shell指令碼。批次檔具有.bat或者.cmd的擴充命令列視窗名,其最簡單的例子,是逐行書寫在命令列中會用到的各種命令。更複雜的情況,需要使用if,for,goto等命令控製程序的運行過程,如同C,Basic等中進階語言一樣。如果需要實現更複雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批次檔,或稱為批次程式,是由一條條的DOS命令組成的普通文字檔,可以用記事本直接編輯或用DOS命令建立,也可以用DOS下的文字編輯器Edit.exe來編輯。在“命令提示”下鍵入批次檔的名稱,或者雙擊該批次檔,系統就會調用Cmd.exe運行該批次程式。一般情況下,每條命令佔據一行;當然也可以將多條命令用特定符號(如:&;、&&;、|、||等)分隔後寫入同一行中;還有的情況就是像if、for等較進階的命令則要佔據幾行、幾十甚至幾百行的空間。系統在解釋運行批次程式時,首先掃描整個批次程式,然後從第一行代碼開始向下逐句執行所有的命令,直至程式結尾或遇見exit命令或出錯意外退出。

echo 命令

開啟回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何參數,echo

批處理與聯機處理

命令將顯示當前回顯設定。

文法:echo [{on|off}] [message]

Sample:@echo off / echo hello world

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

rem 命令

注釋命令,類似於在C語言中的/*--------*/,它並不會被執行,只是起一個注釋的作用,只有在編輯批處理時才會被看到,主要用於方便修改。

:: 也具有rem的功能

但::和rem還是有區別的,當關閉回顯時,rem和::後的內容都不會顯示。

順序批處理

但是當開啟回顯時,rem

後的內容會顯示出來,然而::後的內容仍然不會顯示。

Rem [注釋內容]

樣本:Rem 你好。

pause 命令

暫停命令。運行 Pause 命令時,將顯示下面的訊息:

Press any key to continue. . .(或:請按任意鍵繼續. . .)

樣本:

@echo off

:begin

copy G:*.* d:\back

echo 請插入另一張光碟片...

pause

goto begin

在這個例子中,磁碟機 G 中磁碟上的所有檔案均複製到d:\back中。顯示的注釋提示您將另一張光碟片

盤放入磁碟機 G 時,pause 命令會使程式掛起,以便您更換光碟片,然後按任意鍵繼續處理。

call 命令

從一個批次程式調用另一個批次程式,並且不終止父批次程式。call批處理功能介面

命令接受用作調用目標的標籤。如果在指令碼或批次檔外使用 Call,它將不會在命令列起作用。

文法

call [路徑檔案名稱] [標籤]]

參數 [Drive:}[Path] FileName

指定要調用的批次程式的位置和名稱。

start 命令

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

如:startcalc.exe即可開啟Windows的計算機。

常用參數:

MIN 開始時視窗最小化

SEPARATE 在分開的空間內開始 16 位 Windows 程式

HIGH 在 HIGH 優先順序類別開始應用程式

REALTIME 在 REALTIME 優先順序類別開始應用程式

WAIT 啟動應用程式並等候它結束

parameters 這些為傳送到命令/程式的參數

執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用程式

常見批處理案例

終止就返回命令提示。如果在命令

指令碼內執行,該新行為則不會發生。

set 命令

顯示、設定或刪除變數。

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

設定和調用變數:例如set aa=abcd,就是把aa定義為abcd。如果要調用這個變數,就把aa兩邊加上個百分比符號。

例如:

set aa=abcd

echo %aa%

pause

運行這段命令就會顯示“abcd”。

刪除變數:set aa= 此句命令即可刪除變數aa。若變數aa已被定義,則刪除變數aa;若aa尚未定義,則此句命令無實質意義。

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

set命令具有擴充功能,如用作互動輸入、字串處理、數值計算等,屬於進階命令範疇。


本文出自 “IT技術_網工之家” 部落格,請務必保留此出處http://5201314qq.blog.51cto.com/9466704/1684024

批處理的基礎知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.