执行批处理文件时,Echo出错了



执行批处理文件给Echo关闭。

批处理文件代码如下:

@echo off
setlocal EnableDelayedExpansion
SET a = Hello 
SET b = World 
SET /A d = 50 
SET c = %a% and %b% %d%
echo %c%
endlocal
pause

正如mc nd所写,您必须摆脱平等标志之前和后面的空间。它应该是SET a=Hello,而不是SET a = Hello等。该代码按预期工作:

@echo off
setlocal EnableDelayedExpansion
SET a=Hello 
SET b=World 
SET /A d=50 
SET c=%a% and %b% %d%
echo %c%
endlocal
pause

此外,线路setlocal EnableDelayedExpansionendlocal在您的代码中无用,因为您永远不会使用延迟的扩展(例如!a!而不是%a%(。您的代码仍然正确,因为不需要延迟扩展。

如果您还有其他疑问,请这样发布。不要在其他问题上扩展此帖子。

这是您的两个,更改代码:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "a=Hello"
SET "b=World"
SET/A "d=50"
SET "c=%a% and %b% %d%"
ECHO %c%
ENDLOCAL
PAUSE

请检查并尝试它们,然后阅读单个命令以从您的错误中学习。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET/P "pathToJava= **Provide your Response: "
IF /I "%pathToJava%"=="Y" ECHO found
ENDLOCAL
PAUSE

最新更新