Tubo de lote para a sintaxe do findstr

1

Eu quero encontrar o processo com o título contendo alguma string e passar o seu PID para o taskkill, mas não consigo encontrar a sintaxe adequada, alguém pode dizer o que está errado com esta linha?

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

Resultado:

FINDSTR: Cannot open do
FINDSTR: Cannot open taskkill
FINDSTR: Cannot open /f
FINDSTR: Cannot open /pid
FINDSTR: Cannot open %a
    
por Aleksandr Nikiforov 22.12.2016 / 11:45

1 resposta

1

Consegui que isso funcionasse, escapando do símbolo do pipe. Para usar a sintaxe cmd /c , também tive que envolver a coisa toda entre aspas.

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

Este link provou ser útil para chegar à resolução.

    
por 22.12.2016 / 17:37

Tags