在批处理脚本中创建函数

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