在批处理文件中执行对带有变量的标签的调用

execute a call in batch file to a lable with variable

这应该是一件简单的事情,但我没有明白

我想在批处理文件中使用变量作为参数调用标签,如下所示:

echo off
set TEST=message text
call :MESSAGE %TEST% more text
:MESSAGE
echo %1

我得到的是这样的:

C:\>echo off
message
ECHO is off.

:message 是一个标签。没有边界可以避免执行进入它之后的代码,但这次到达代码时没有参数回显,从这里开始 ECHO off

@echo off
  set TEST=message text
  call :MESSAGE %TEST% more text
  goto :eof

:MESSAGE
  echo %1

现在goto :eof(或exit /b离开批处理文件或exit关闭控制台)避免执行继续进入标签后的代码

使用 %* 而不是 %1 ...就这么简单!