Я пытаюсь получить процессы Windows, соответствующие некоторым определенным критериям, например. они похожи на «123456.exe» и пытаются убить их с помощью списка задач. Я пытаюсь сделать это так:Передача идентификаторов PID из списка задач и уничтожения с помощью списка задач
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i
, который не является правильным, и я не знаю почему .... Может кто-нибудь дать мне подсказку? Thanx заранее!
Что бы изменить в команде выше, если я хочу, чтобы убить только первый PID в списке? то есть если у меня есть 2 notepad.exe open, я хочу убить только первый pid в списке. – Jai
Ничего, я понял тайный соус. setlocal enabledelayedexpansion set flag = 0 FOR/F "usebackq tokens = 2" %% i IN ('tasklist^| findstr/r/b" notepad.exe "') DO ( if! flag! == 0 ( ) эхо! флаг! \t Taskkill/PID %% я \t установленный флаг = 1 \t эхо! флаг! ) ) Endlocal – Jai