[主要來自網路上之介紹與教學]
.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檔的內容。
留言列表