函數是組織在一起執行特定任務的一組語句。 在批處理腳本中,採用類似的方法將邏輯語句組合在一起形成一個函數。
像其他語言一樣,批處理腳本中的函數也遵循相同的程式規則 -
- 函數聲明 - 它告訴編譯器一個函數的名字,返回類型和參數。
- 函數定義 - 它提供了函數的實際主體。
函數定義
在批處理腳本中,通過使用標籤語句來定義函數。 當一個函數被重新定義時,它可能會將一個或多個值作為函數的輸入“參數”,並在函數的主體中處理,並將值作為輸出“返回類型”傳回給函數。
每個函數都有一個函數名稱,它描述了函數執行的任務。 要使用一個函數,需要用它的名稱來“調用”這個函數,並傳遞與函數參數類型相匹配的輸入值(稱為參數)。
以下是一個簡單函數的語法。
:function_name
Do_something
EXIT /B 0
其中,
function_name
是賦予函數的名字,它應該與函數的實際功能相匹配。EXIT
語句用於確保函數正常退出。
以下是一個簡單函數的例子。
:Display
SET /A index=2
echo The value of index is %index%
EXIT /B 0
常見的函數使用,如下列表所示 -
編號 | 函數 | 描述 |
---|---|---|
1 | 調用函數 | 在批處理腳本中如何使用call 命令調用一個函數 |
2 | 帶參數的函數 | 當函數調用時,函數可以通過傳遞參數來處理參數。 |
3 | 具有返回值的函數 | 函數可以通過傳遞變數名稱來處理返回值 |
4 | 函數中的局部變數 | 函數中的局部變數可以用來避免名稱衝突,並保持函數本地的變數變化。 |
5 | 遞歸函數 | 通過在函數中保持局部變數的變化並且對調用者不可見,完全封裝函數主體的能力。 |
6 | 檔I/O | 在批處理腳本中,可以執行任何編程語言中預期的正常檔I/O操作。 |
7 | 創建檔 | 新檔的創建是通過重定向篩檢程式> 來完成的。 此篩檢程式可用於將任何輸出重定向到檔。 |
8 | 寫入檔 | 內容寫入檔也是借助於重定向篩檢程式來完成的。 此篩檢程式可用於將任何輸出重定向到檔。 |
9 | 附加到檔 | 內容寫入檔也是在雙重定向篩檢程式的幫助下完成的。 此篩檢程式可用於將任何輸出附加到檔。 |
10 | 從檔讀取 | 在批處理腳本中讀取檔是通過使用FOR 迴圈命令來完成檔中需要讀取的每一行。 |
11 | 刪除檔 | 要刪除檔,批處理腳本提供了DEL 命令。 |
12 | 重命名檔 | 要重命名檔,批處理腳本提供了REN 或RENAME 命令。 |
13 | 移動檔 | 要移動檔,批處理腳本提供MOVE 命令。 |
14 | 批處理檔-管道 | 管道運算符(豎線)將一個命令的輸出(默認為STDOUT )引導到另一個命令的輸入(默認為STDIN )。 |
15 | 批處理檔-輸入 | 批處理檔運行時,可以選擇傳遞命令行參數,然後在程式中讀取這些參數以進一步處理。 |
16 | 使用SHIFT運算符 | 命令行參數的一個限制是它只能接受直到%9 的參數。 |
17 | 檔夾操作 | 在批處理腳本中,可以使用任何編程語言執行普通的基於檔夾的操作。 |
18 | 創建檔夾 | 創建一個檔夾是在MD (創建目錄)命令的幫助下完成的。 |
19 | 列出檔夾內容 | 檔夾內容的列表可以用dir 命令完成。 該命令用來查看當前目錄中的可用檔和目錄。 |
20 | 刪除檔夾 | 要刪除檔夾,可使用批處理腳本提供的DEL 命令。 |
21 | 重命名檔夾 | 對於重命名檔夾,批處理腳本使用REN 或RENAME 命令。 |
22 | 移動檔夾 | 對於移動檔夾,批處理腳本提供MOVE 命令。 |