批處理函數
函數是組織在一起執行特定任務的一組語句。 在批處理腳本中,採用類似的方法將邏輯語句組合在一起形成一個函數。
像其他語言一樣,批處理腳本中的函數也遵循相同的程序規則 -
- 函數聲明 - 它告訴編譯器一個函數的名字,返回類型和參數。
- 函數定義 - 它提供了函數的實際主體。
函數定義
在批處理腳本中,通過使用標籤語句來定義函數。 當一個函數被重新定義時,它可能會將一個或多個值作爲函數的輸入「參數」,並在函數的主體中處理,並將值作爲輸出「返回類型」傳回給函數。
每個函數都有一個函數名稱,它描述了函數執行的任務。 要使用一個函數,需要用它的名稱來「調用」這個函數,並傳遞與函數參數類型相匹配的輸入值(稱爲參數)。
以下是一個簡單函數的語法。
: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
命令。