Batch file 简单批处理脚本未按预期打印变量

Batch file 简单批处理脚本未按预期打印变量,batch-file,Batch File,这个代码有什么问题?它应该打印hello world @echo off set message = Hello World echo %message% 我在记事本中编写了它,并将其保存为first.bat,但当我在cmd.exe中运行它时,它告诉我echo已关闭不要在set命令的等号之前添加额外的空间 @echo off set message=Hello World echo %message% 是相同的:ECHO关闭。@BB:它工作正常。@BB唯一失败的方法是在同一个括号内的代码块

这个代码有什么问题?它应该打印
hello world

@echo off

set message = Hello World
echo %message%

我在记事本中编写了它,并将其保存为
first.bat
,但当我在
cmd.exe
中运行它时,它告诉我
echo已关闭

不要在set命令的等号之前添加额外的空间

@echo off
set message=Hello World
echo %message%

是相同的:ECHO关闭。@BB:它工作正常。@BB唯一失败的方法是在同一个括号内的代码块中赋值并试图展开变量,而在
最小可复制示例中,
没有显示这种情况。如果是这种情况,则需要使用延迟扩展并扩展
!变化无常。建议使用
设置“message=Hello World”
,(外部引号保护变量和值不受前导空格和尾随空格的影响,但不构成前导空格和尾随空格的一部分)。变量名为
message
,其值为
Hello World
。目前,除非您相应地修改该行,否则您需要将最后一行更改为
Echo%message:~1%