Node-RED をシンプルに動かす bat ファイルが無限ループしてしまう対処メモ

Node-RED をシンプルに動かす bat ファイルが無限ループしてしまう対処メモです。

状況

  • Windows 11 Pro
  • コマンドプロンプトで動かすバッチファイル
  • そのバッチファイルで Node-RED を実行したい

という前提です。

node-red-bat-file-infinity-loop_03.png

node-red.bat というファイルを作り、

node-red-bat-file-infinity-loop_02.png

中身はシンプルに node-red の起動コマンドを書くだけの bat ファイルを試しに起動してみたところ、

node-red-bat-file-infinity-loop_00.png

無限ループしてしまいました。なぜ!

本来であれば、これをスケジューラなどで指定して PC 起動時に実行するスタートアップのようなことを実現したかったのに、無限ループ。

対処

単純な仕組みなだけに問題解決がしにくかったのですが、以下の記事をみて気づけました。

batファイルがループしてしまう対処方法

バッチのファイル名を node-red にしてしまっているので手元で優先的に?実行されてしまうので、自分を実行し続ける無限ループが起きてしまうということのようです。

node-red-bat-file-infinity-loop_01.png

ということで中身は変更せずにファイル名を node-red.bat 以外にしてみました。たとえば、このように mytask.bat にしてみました。

node-red-bat-file-infinity-loop_04.png

すると、無事起動してくれました!

ファイル名を「 Node-RED で実行してるんだぞ」と強調したくて node-red.bat にしてしまいまいしたが、思わぬ副作用があったようです。気を付けます!