执行批处理文件会导致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
执行批处理文件会导致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 EnableDelayedExpansion
和endlocal
是在你的代码没用,因为你永远不使用延迟扩展(例如的替代!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
试试'echo。%c%'。 – Brandin
等号右侧的空格包含在变量的值中,但是等号左侧的空格包含在变量名称中。你没有'a','b'和'c'变量,你有'a','b'和'c'变量(有额外的空间) –
MC ND CA你可以帮我解决这个问题@回声关闭 SETLOCAL EnableDelayedExpansion 集pathToJava = **提供您的响应: IF/I “%pathToJava%” == “Y”( \t @echo发现 ) ENDLOCAL 暂停 –