close

 [主要來自網路上之介紹與教學]

.bat是dos下的批次檔案 
.cmd是nt內核命令行環境的另一種批次檔案

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

在DOS和Win9x/Me系統下,C:盤根目錄下的AUTOEXEC.BAT批次檔案是自動執行批次檔案,每次系統啟動時會自動執行該檔

[常用命令]

1.Echo 命令

打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置。

語法

echo [{on|off}] [message]

Sample:@echo off / echo hello world

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

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

2.@ 命令

表示不顯示@後面的命令.一個特殊標記符, 僅用於遮罩命令行回顯. 

Sample:@echo off

@echo Now initializing the program,please wait a minite...

3.Goto 命令

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

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

Sample:

if {%1}=={} goto noparms

if {%2}=={} goto noparms

@Rem check parameters if null show usage

:noparms

echo Usage: monitor.bat ServerIP PortNumber

goto end

標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標

,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來

才會理解你的意圖啊。

 4.Rem 命令 

注釋命令,在C語言中相當與/*--------*/,它並不會被執行,只是起一個注釋的作用,便于

別人閱讀和你自己日後修改。

Rem Message

Sample:@Rem Here is the description.

5.Pause 命令

運行 Pause 命令時,將顯示下面的消息:

Press any key to continue . . .

Sample:

@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,它將不會在命令行起作用。

語法

call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

參數

[Drive:}[Path] FileName

指定要調用的批處理程序的位置和名稱。filename 參數必須具有 .bat 或 .cmd 擴展名。

7.start 命令

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

8.If 命令 

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

1、if \參數\ == \字符串\  待執行的命令

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

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

if {%1}=={} goto noparms


if {%2}=={} 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。

9.SET

顯示,設定環境變數

Syntax:
SET [ variable=[string]]

Example:
set 顯示目前環境變數
set P 列出所有以'P'開頭的環境變數
set USER=Tom 將USER加入環境變數中
set PATH=C:\test;%PATH%
將C:\test加入目前的環境變數中(只對當前的Command Prompt有效)
set /P str=Message
在螢幕上顯示Message,並將使用者輸入設定為變數str

%Variable% 代表該環境變數的值

Syntax:
%Variable%
Example:
set USER=Tom
echo %USER% 螢幕將顯示Tom

%DIGIT batch file所接受的參數

Syntax:
%digit digit可接受數字為1~9
Example:
C:\test.bat string
%1將等於"string"

 

[參數] 

批處理中可以使用參數,一般從1%到 9%這九個,

參數是指在執行批次檔案時在檔案名後加的以空格(或者Tab)分隔的字串。變數可以從%0到%9,%0表示批次處理命令本身,其他參數字串用%1到%9順序表示。

例2:C:根目錄下有一批次檔案名為f.bat,內容為:
@echo off
format %1

如果執行C:\>f a:
那麼在執行f.bat時,%1就表示a:,這樣format %1就相當於format a:,於是上面的命令執行時實際執行的是format a:

例3:C:根目錄下一批次檔案名為t.bat,內容為:
@echo off
type %1
type %2

那麼執行C:\>t a.txt b.txt
%1 : 表示a.txt
%2 : 表示b.txt
於是上面的命令將順序地顯示a.txt和b.txt檔的內容。

 



 

arrow
arrow
    全站熱搜

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