在批處理指令碼中建立函式

MD Aminul Islam 2023年1月3日
在批處理指令碼中建立函式

如果你為該特定任務建立函式,則無需一次又一次地為同一任務編寫程式碼。本文將討論如何在批處理指令碼中建立函式。

在批處理指令碼中建立函式

建立函式的一般格式如下所示。

:function_name

呼叫此函式的一般格式是使用帶有 :function_nameCALL 關鍵字,如下所示。

CALL :function_name

現在讓我們看一些帶有適當解釋的示例,以使其更易於理解。

在下面的示例中,我們剛剛建立了一個列印訊息 Hello! It's the function...。我們的這個例子的程式碼看起來像這樣:

@echo off
CALL :showmessage
EXIT /B %ERRORLEVEL%

:showmessage
ECHO Hello! It's the function...
EXIT /B 0

你可以注意到我們寫了一行 EXIT /B %ERRORLEVEL%。此行旨在在函式完成其工作後退出程式;否則,程式將繼續執行該函式。

並建立了 EXIT /B 0 行以退出該函式。

執行程式碼後,你將獲得以下輸出。

輸出:

Hello! It's the function...

呼叫帶引數的函式

在我們的下一個示例中,我們將呼叫一個帶引數的函式。

呼叫函式的一般格式如下所示:

CALL :function_name %parameter%

並且可以通過使用諸如%~1 之類的引數索引來訪問函式內部的引數。

我們的示例程式碼如下所示:

@echo off
SET FuncVar=10
CALL :showvar %FuncVar%
EXIT /B %ERRORLEVEL%

:showvar
ECHO Your passed variable is %~1
EXIT /B 0

在示例中,我們宣告瞭一個名為 FuncVar 的變數,其值為 10。之後,我們呼叫函式並將這個變數作為引數傳遞。

在函式中,我們只是列印了傳遞給函式的引數。現在輸出將如下所示。

輸出:

Your passed variable is 10

呼叫具有多個引數的函式

使用多個引數時,你必須遵循以下格式:

CALL :function_name %parameter1% %parameter2% %parameter3%

在我們的下一個示例中,我們將多個變數作為引數傳遞給函式。示例程式碼將是,

@echo off
SET FuncVar1=10
SET FuncVar2=50
CALL :showvar %FuncVar1% %FuncVar2%
EXIT /B %ERRORLEVEL%

:showvar
ECHO Your 1st parameter is %~1
ECHO Your 2nd parameter is %~2
EXIT /B 0

你可以注意到,我們根據引數的索引訪問了兩個引數,例如 %~1%~2。執行程式碼後,你將獲得以下輸出。

輸出:

Your 1st parameter is 10
Your 2nd parameter is 50
注意
我們在本文中分享的程式碼是批處理編寫的,僅適用於 Windows CMD。
作者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn