Batch

批處理管道到 findstr 語法

  • December 22, 2016

我想找到標題包含一些字元串的程序並將它的 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"

事實證明,此連結有助於達成決議。

引用自:https://serverfault.com/questions/822225