Windowsバッチの多重起動防止策

高瀬 裕介 1,139views 更新:2015年8月27日
SET "CMD_NAME=俺のバッチ"
for /f %%b in ('"tasklist /FI "WINDOWTITLE eq !CMD_NAME!" | find /C /I "cmd.exe""') do set myproc=%%b
IF !myproc! GEQ 1 (
  exit
)
TITLE %CMD_NAME%

Windowタイトルでの絞り込みは下記のようにしてもできるのですが、タイトルが長すぎるとちぎれてしまうので上記の方が安全な気がします。

for /f %%b in ('"tasklist /V | find /C /I "!CMD_NAME!""') do set myproc=%%b

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません