Назад | Перейти на главную страницу

Пакетная передача синтаксиса findstr

Я хочу найти процесс с заголовком, содержащим некоторую строку, и передать его PID в taskkill, но я не могу найти правильный синтаксис, может ли кто-нибудь сказать, что не так с этой строкой?

C:\>cmd /c for /f "tokens=2 delims=," %a in 
('tasklist /v /fo:csv /nh | findstr /r /c:"1234"') do taskkill /f /pid %a

Результат:

FINDSTR: Cannot open do
FINDSTR: Cannot open taskkill
FINDSTR: Cannot open /f
FINDSTR: Cannot open /pid
FINDSTR: Cannot open %a

Мне удалось заставить это работать, избегая символа трубы. Чтобы использовать cmd /c синтаксис, мне тоже пришлось все это заключить в кавычки.

cmd /c "for /f "tokens=2 delims=," %a in ('tasklist /v /fo:csv /nh ^| findstr /r /c:"1234"') do taskkill /f /pid %a"

это ссылка на сайт оказался полезным в достижении решения.