2017-05-04 17 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

エコー '試してみてください。%のCの%'。 – Brandin

+5

等号の右側のスペースは変数の値に含まれますが、等号の左側のスペースは変数名に含まれます。あなたは 'a'、' b'、 'c'変数を持たず、' a'、 'b'、' c'変数を持っています(余分なスペースがあります) –

+0

MC ND CAnあなたはこのコードで私を助けてください。 IF/I "%のpathToJavaの%" == "Y"( \t @echoが を見つけた) ENDLOCAL 一時停止:@ セットpathToJavaは= **あなたの応答を提供 SETLOCAL EnableDelayedExpansionをオフにエコー –

答えて

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

はあなたの2、変更コードです:

@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 
関連する問題