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

Muh*_*ana 5 batch-file

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

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
Run Code Online (Sandbox Code Playgroud)

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

如何阻止函数自行执行?

Hen*_*nes 8

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

如果要跳过批处理文件的一部分,则必须跳过它。

例如

    @回声关闭
    echo 您的批处理文件已启动。跳转到主。
    转到:主要

    :function_label
    some_command
    some_command

    :主要的
    some_command

这将转到批处理文件的主要部分,跳过功能。
如果没有这个 goto,函数将首先到达,执行,然后流程将向下传递。

  • 很有意思 ! (2认同)