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

taskkillコマンドを利用して設定ウィンドウを閉じる。

@echo off
set windowtitle=設定
taskkill /FI "WINDOWTITLE eq %windowtitle%"
pause