调用函数中随机 ECHO 为 OFF 错误

问题描述 投票:0回答:1

引擎.bat

@echo off
setlocal enabledelayedexpansion

if %~1 == void goto :a1
:a1
if %~2 == 0 echo void0>void.bat
if %~2 == 1 echo void1>void.bat
goto a2
:a2
if %~1 == sm goto a3
:a3
set msg = %~2
echo %msg%

我打开了 engine.bat 所在文件夹的 powershell 终端,输入以下命令:

.\engine.bat sm Hello world

由于某种原因输出 ECHO is OFF。知道为什么吗?

我尝试直接使用“echo %~2”而不是将其设置为变量,但它只输出第一个单词。我需要帮助!

我想要的输出正是“Hello world”。

batch-file cmd command-prompt
1个回答
0
投票

即使

:a1
不是
%1
,您的代码也会进入
void
例程。将
goto :a2
移至
if %~1 == void goto :a1
之后。

您可能还想在

goto :eof
之后立即添加
if %~1 == sm goto a3

© www.soinside.com 2019 - 2024. All rights reserved.