1
for /r %%i in (*.exe) do start "" /b "%%i"
起動する前にexeファイルが実行されているかどうかを確認するにはどうすればよいですか?このバッチファイルを編集してexeが実行されているかどうかを確認する方法
for /r %%i in (*.exe) do start "" /b "%%i"
起動する前にexeファイルが実行されているかどうかを確認するにはどうすればよいですか?このバッチファイルを編集してexeが実行されているかどうかを確認する方法
for /r %%i in (*.exe) do tasklist|findstr /i /b /L /c:"%%~nxi" >nul&if errorlevel 1 start "" /b "%%i"
これは/b
は、文字列「%% i」は/i
かかわらず、ケースの(任意の出力を処分)が/C:
と文字通り/L
を開始することラインを探しfindstr
に結果を送信する、tasklist
行います。 findstr
に一致する文字列が見つからない場合は、errorlevel
を1に設定します。if
文は、errorlevel
が1以上のときを検出します。見つからない場合は開始します。
条件付き実行でも少し短くすることができます。 '%% i"> nul ||開始 ""/b "%% i" ' – Squashman
(/ * %% i)なぜなら、tasklist | findstrはパス名ではなくexe名だけを返すからです。 –
OK - 固定されています( 'ixの前に'〜nx'を挿入してください)。名前と拡張子のみを選択するための 'findstr'文字列 – Magoo