より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Windowsバッチのsetが動かない! =の前後のスペースを入れてないことを確認しよう!

Windowsバッチのsetコマンドは変数に値を設定するコマンドです。

使い方は

set 変数名=値

です。

set val = 111
echo %val%

としてしまいがちです。

f:id:rimever:20190930211844p:plain
これは実はうまく動作しません。

ポイントは、=の前後のスペースです。

=の前後にスペースを入れないようにする必要があります。

set val=111
echo %val%

f:id:rimever:20190930212204p:plain
うまくいった

ややこしいですね。

ちなみに、下記のように=の前にはスペースはなく、=の後にスペースがある場合

set val= 111
echo %val%

f:id:rimever:20190930212103p:plain
111となった。111の前にスペースが入ってしまっている。

と、間抜けな感じになってしまいます。