在批处理脚本中创建函数
作者:迹忆客
最近更新:2024/03/15
浏览次数:
如果你为该特定任务创建函数,则无需一次又一次地为同一任务编写代码。本文将讨论如何在批处理脚本中创建函数。
在批处理脚本中创建函数
创建函数的一般格式如下所示。
:function_name
调用此函数的一般格式是使用带有 :function_name
的 CALL
关键字,如下所示。
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