批pipe道到findstr语法

我想find包含一些string的标题进程,并将其传递给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 

我可以通过转义pipe道符号来实现这个function。 为了使用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" 

这一联系certificate有助于达成决议。