Windowsのbatファイルでウィンドウの存在を確認する

tasklistコマンドを利用して設定ウィンドウが存在するか判定する。

@echo off
set windowtitle=設定
tasklist /FI "WINDOWTITLE eq %windowtitle%" | find "実行されていません" > nul
if %ERRORLEVEL% == 1 (
    echo %windowtitle%が存在します。
)
pause

batファイルで自身の多重起動を防止したい場合は下記のようにするとそれなりに防止できる。

@echo off
set windowtitle=test
tasklist /FI "WINDOWTITLE eq %windowtitle%" | find "実行されていません" > nul
if %ERRORLEVEL% == 1 (
    exit
)
title %windowtitle%
pause