DOS批處理簡介(上)

2021-06-02 12:21:18 字數 3492 閱讀 3667

文章整理自:

一.簡單內部命令簡介 

1.echo 命令

開啟回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯 

設定。

語法echo [message] 

比如:@echo off / echo hello world 

在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用》 >> ^)結合來實

現輸入一些命令到特定格式的檔案中.這將在以後的例子中體現出來。 

2.@ 命令

表示不顯示@後面的命令。 

比如:@echo now initializing the program,please wait a minite... 

3.goto 命令

指定跳轉到標籤,找到標籤後,程式將處理從下一行開始的命令。

語法:goto label (label是引數,指定所要轉向的批處理程式中的行。)

比如: 

if =={} goto label0 

if =={} goto label0

@rem check parameters if null show usage 

:label0

echo usage: monitor.bat serverip portnumber 

goto end 

標籤的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標 籤,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來 才會理解你的意圖啊。

注:函式和標籤的使用

4.rem 命令

注釋命令,在c語言中相當與/*--------*/,它並不會被執行,只是起乙個注釋的作用,便於 別人閱讀和你自己日後修改。 

語法:rem message 

比如:@rem here is the description. 

5.pause 命令 

執行 pause 命令時,將顯示下面的訊息: press any key to continue . . . 

比如: 

@echo off 

:begin 

copy a:*.* d:\back 

echo please put a new disk into driver a 

pause

goto begin 

在這個例子中,驅動器 a 中磁碟上的所有檔案均複製到d:\back中。顯示的注釋提示您將另 

一張磁碟放入驅動器 a 時,pause 命令會使程式掛起,以便您更換磁碟,然後按任意鍵繼續 

處理。 

6.call 命令

它用於呼叫

呼叫批處理檔案

或批處理函式

。如果在指令碼或批處理檔案外使用 call,它將不會在命令列起作用。

語法call [[drive:][path] filename [batchparameters]] [:label [arguments]] 

引數[drive:}[path] filename 

指定要呼叫的批處理程式的位置和名稱。filename 引數必須具有 .bat 或 .cmd 副檔名。

注:函式和標籤的使用

7.start 命令

呼叫外部程式,所有的dos命令和命令列程式都可以由start命令來呼叫。

常用引數: 

min開始時視窗最小化 

separat

e 在分開的空間內開始 16 位 windows 程式 

high

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

realtime

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

wait

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

parameters

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

注:執行的應用程式是 32-位 gui 應用程式時,cmd.exe 不等應用程式終止就返回命令提示。如 

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

8.choice 命令 

choice 使用此命令可以讓使用者輸入乙個字元,從而執行不同的命令。使用時應該加/c:引數, 

c:後應寫提示可輸入的字元,之間無空格。它的返回碼為1234…… 

比如: 

choice /c:dme defrag,mem,end 將顯示 

defrag,mem,end[d,m,e]? 

示例1: 

@echo off 

choice /c:dme defrag,mem,end 

if errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼) 

if errorlevel 2 goto mem 

if errotlevel 1 goto end 

:defrag 

c:\dos\defrag 

goto end 

:mem 

mem 

goto end 

:end 

echo good bye 

此檔案執行後,將顯示 defrag,mem,end[d,m,e]? 使用者可選擇d m e ,然後if語句將作出 

判斷,d表示執行標號為defrag的程式段,m表示執行標號為mem的程式段,e表示執行標號

為end的程式段,每個程式段最後都以goto end將程式跳到end標號處,然後程式將顯示good 

bye,檔案結束。 

9.if 命令

if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:

1、if "引數" == "字串" 待執行的命令 

引數如果等於指定的字串,則條件成立,執行命令,否則執行下一句。(注意是兩個等號) 

如if "%1"=="a" format a: 

if =={} goto noparms 

if =={} goto noparms 

2、if exist 檔名 待執行的命令 

如果有指定的檔案,則條件成立,執行命令,否則執行下一句。 

如if exist config.sys edit config.sys 

3、if errorlevel / if not errorlevel 數字 待執行的命令 

如果返回碼等於指定的數字,則條件成立,執行命令,否則執行下一句。 

如if errorlevel 2 goto x2 

dos程式執行時都會返回乙個數字給dos,稱為錯誤碼errorlevel或稱返回碼,常見的返回 

碼為0、1。

if命令》和《關於if errorlevel 命令》以及《errorlevel與%errorlevel%的區別

10.for 命令

關於for命令請參照《for命令詳解(上)》和《for命令詳解(下)

DOS批處理簡介(上)

文章整理自 一.簡單內部命令簡介 1.echo 命令 開啟回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯 設定。語法 echo message 比如 echo off echo hello world 在實際應用中我們會把這條命令和重定向符號 也稱為管道符號,一般...

DOS批處理簡介(下)

文章參照自 二.如何在批處理檔案中使用引數 批處理中可以使用引數,一般從1 到 9 這九個,當有多個引數時需要用shift來移動,這種情況並不多見,我們就不考慮它了。比如 fomat.bat echo off if 1 a format a format format a q u auotset e...

關於Dos命令批處理程式設計簡介

用批處理命令把一些特殊的檔案按副檔名分類寫到乙份檔案裡,批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的擴充套件名為 bat 或 cmd。在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案 也被稱為批...