批处理文件函数未调用就执行

批处理文件函数未调用就执行

我定义了一个函数,奇怪的是,即使我这样做,函数行也会执行不是调用函数!!

echo off
cls
REM call:ctrlService "stop" "1.1.1.1"
echo.SERVICES STARTED
:ctrlService - Generic function
echo.Parameter 1: %~1
echo.Parameter 2: %~2
dir
GOTO:EOF
echo on

我看到了echo执行的语句,但没有显示相关参数的值。而且dir命令也执行了!

我怎样才能阻止该函数自行执行?

答案1

添加标签只是添加了一个标签。它不会改变批处理文件的流程。

如果您想跳过批处理文件的一部分,那么您必须跳过它。

例如

    @echo 关闭
    echo 您的批处理文件已启动。跳转到主程序。
    前往:主页

    :函数标签
    一些命令
    一些命令

    :主要的
    一些命令

这将转到批处理文件的主要部分,跳过函数。
如果不执行此操作,将首先到达函数,执行该函数,然后流程将向下传递。

相关内容