アプリケーションがバッチ (cmd) ファイルから実行されているかどうかを確認するにはどうすればよいですか?
プログラムがすでに実行されている場合は、別のインスタンスを起動しないようにする必要があります。(アプリを変更して単一インスタンスのみにすることはできません。)
また、アプリケーションは任意のユーザーとして実行できます。
ベストアンサー1
私が思いついたもう一つの可能性は、ファイルを保存する必要がないことです。グレップは:
tasklist /fi "ImageName eq MyApp.exe" /fo csv 2>NUL | find /I "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" echo Program is running
/fi ""
検索するアプリのフィルターを定義します。この場合は *.exe 名です。/fo csv
出力形式を定義します。デフォルトでは実行可能ファイルの名前が長すぎると切り捨てられ、後で一致しなくなる可能性があるため、 csv が必要ですfind
。find /I
大文字と小文字を区別しないマッチングを意味し、省略可能
のマニュアルページを参照してくださいタスクリスト構文全体のコマンド。