引擎.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”。
即使
:a1
不是 %1
,您的代码也会进入 void
例程。将 goto :a2
移至 if %~1 == void goto :a1
之后。
您可能还想在
goto :eof
之后立即添加 if %~1 == sm goto a3
。