2017-05-04 175 views
0

执行批处理文件会导致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 
+0

试试'echo。%c%'。 – Brandin

+5

等号右侧的空格包含在变量的值中,但是等号左侧的空格包含在变量名称中。你没有'a','b'和'c'变量,你有'a','b'和'c'变量(有额外的空间) –

+0

MC ND CA你可以帮我解决这个问题@回声关闭 SETLOCAL EnableDelayedExpansion 集pathToJava = **提供您的响应: IF/I “%pathToJava%” == “Y”( \t @echo发现 ) ENDLOCAL 暂停 –

回答

0

由于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%)。您的代码仍然正确,因为不需要延迟扩展。

如果您还有其他问题,请将它们发布。不要在其他问题上展开这篇文章。

0

这里是你的两个,改变代码:

@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