1. 程式人生 > >批處理指令碼——基礎

批處理指令碼——基礎

什麼是批處理指令碼

批處理是Windows下的一種指令碼(後面統稱批處理指令碼),一般就是字尾為.bat或者.cmd的檔案。雙擊該檔案,或者在命令列中輸入該檔名(注意絕對路徑和相對路徑),就可以逐行執行其中的內容。

 

批處理指令碼執行環境

批處理指令碼由Windows下面的cmd.exe程式來處理,可以通過如下的方式來開啟一個cmd.exe,它表現為一個命令列視窗:

1. 按下鍵盤中的Win+R鍵,跳出如下的介面:(測試機器是Win10系統)

2. 輸入cmd,按回車鍵跳出如下介面:

在該命令列介面中就可以執行批處理指令碼。

 

一個簡單的例子

下面是一個最簡單的批處理指令碼示例:

echo "Hello world"

下面是執行的結果:

重點在於紅框中的內容,之前的部分只是為了進入批處理指令碼所在的目錄。因為如果不在當前目錄,就需要指定批處理指令碼的絕對路徑。

回到批處理指令碼本身,它就是簡單的列印了一句“Hello world”。

這裡的echo是一個內建的命令,可以通過help檢視所以支援的命令:

還可以進一步檢視echo命令說明:

總之該命令可以接受一個字串作為引數然後會回顯到命令列中。

關於該指令碼還有兩點需要說明:

1. 之前已經提到cmd.exe會逐行(由於各種條件和跳轉執行存在,所以實際也不是逐行)執行批處理腳本里面的語句,所以從之前的顯示中也可以看到該命令也被顯示到了介面上:

如果不想顯示該語句,一種方法是使用echo的ON和OFF引數,程式碼修改如下:

echo off
echo "Hello world"
echo on

結果如下:

可以看到結果並不是很好,因為echo off這條語句本身沒有被隱藏,另外一種更簡單的方式是在語句前加上“@”符號,程式碼修改如下:

@echo "Hello world"

結果如下:

可以看到回顯消失。

2. 前面也提到過可以通過雙擊來執行批處理指令碼,但是這裡如果執行雙擊,會發現命令列一閃而過,無法看到結果,這時可以使用另一條命令PAUSE,程式碼修改如下:

@echo "Hello world"
@PAUSE

此時雙擊該指令碼,就會出現如下的介面:

此介面一直保持到有其它輸入後消失。

 

以上是關於批處理指令碼的最基本介紹。