if
の条件式が真の時に実行される文が複数行に渡る場合、文をカッコで閉じますよね。
rem 真の時に複数行の文を実行 if "%SOME_VALUE%" == "VALUE" ( echo SOME_VALUE is echo VALUE !! )
上記の if
に else
を付けるときは注意が必要で、閉じカッコ「)」と同じ行に else
を書く必要があり、かつ else
の前後には空白を入れる必要があります。
rem 閉じカッコと else が同じ行にないので構文エラー if "%SOME_VALUE%" == "VALUE" ( echo SOME_VALUE is echo VALUE !! ) else ( echo SOME_VALUE is not VALUE but echo %SOME_VALUE% !! ) rem else 前後に空白がないので構文エラー if "%SOME_VALUE%" == "VALUE" ( echo SOME_VALUE is echo VALUE !! )else( echo SOME_VALUE is not VALUE but echo %SOME_VALUE% !! ) rem これは OK if "%SOME_VALUE%" == "VALUE" ( echo SOME_VALUE is echo VALUE !! ) else ( echo SOME_VALUE is not VALUE but echo %SOME_VALUE% !! )
忘れるとハマるので注意しましょう。
コメント