執行批處理文件會導致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 暫停 –