バッチファイルで、if〜else

やあみんな、元気にしてるかな、寒くなってきたけど風邪なんてひいてる場合じゃないぞ。今日はWindowsバッチファイルで、if〜else構文を使おうと思ったが、何やらエラーになってしまってわけがわからないという人たちに朗報な内容だよ。
バッチファイルのif elseには秘密があってそれは、括弧"("または")"の両側には必ずスペースが必要だということなんだ。あ、だから両側というか、括弧記号の隣に何かがくる場合は必ずその間にスペースを区切り文字としていれてやらないと駄目!ということなんだね。
では実際にエラーとならないコードを見てみよう。

@echo off
set a=3
if %a%==1 (
echo its 1 
) else if %a%==2 (
echo its 2 
) else (
echo its not 1 nor 2
)
pause

これの出力は、

its not 1 nor 2
続行するには何かキーを押してください . . .

次にエラーとなるコードが以下だ。
(if 文の括弧の前後にあったスペースを省略してみただけ。)

@echo off
set a=3
if %a%==1(
echo its 1 
)else if %a%==2(
echo its 2 
) else(
echo its not 1 nor 2
)
pause

これの実行結果は、そう、この場合は最後にpauseを入れているにもかかわらず、何も言わずにコマンドプロンプトウィンドウが閉じてしまうんだね。これでは記述のどこがまずいのかもわからないよな。一箇所だけでも。いいか、ただの一箇所だけでも、if文の前後の括弧のスペースを忘れるとだめなんだぜ。信じられないだろ?でもこれが事実なんだ。
まあしかし、if〜else構文なんかは使えて当然便利なものなのだから、このことを覚えておいてくれよな、じゃ!