特定のプロセス (20 個のプロセスのリストなので、すべてをリストするわけではありません) を確認し、どのプロセスが実行されているかを記録する必要があります。次に、それらを強制終了し、他のコードを実行して、最後に再度開く必要があります...コードは、すべてのプロセスが終了した場合にのみ正常に実行されます。
提案や、コードが機能しない理由を説明してくれる人を歓迎します。
私がやっていることは、タスクリストを使用して各プロセスをチェックし、結果をファイルに書き込んでから、プロセスが実行されていないファイルの行を削除しようとしています(つまり、「INFO: ..." メッセージ)
ファイルの各行を一度に 1 行 (for ループで) 取得し、その中のテキストの文字列を置き換え、編集した行を別のファイル (つまりおそらく最も効率的な方法ではありませんが、うまくいきました)。
どういうわけか、私は今それを複製することはできません...
私が持っているコード(失敗している)は
SETLOCAL ENABLEDELAYEDEXPANSION
cd\
for /f "tokens=* delims= " %%a in (somefile.txt) do (
set q=INFO: No tasks are running which match the specified criteria.
set r=%%a
set s=!r:%q%=!
echo %s% >>test.txt
)
必要なことを行うためのより良い方法を誰かが知っている場合は、喜んで計画を変更しますが、バッチ (CMD) で行う必要があります。または、少なくとも上記のコードを修正してくれる人がいれば幸いです。 .
ありがとう