如何将上一个命令的输出的顶行解析为另一个命令的输入?

时间:2018-12-02 17:44:55

标签: windows batch-file command-line

在bash中,我将为此使用awk和xargs,但是我不确定如何在Windows命令行上执行该操作。

基本上,我试图杀死监听端口3000的进程。我目前正在这样做:

netstat -ano | findstr:3000
taskkill /PID <process id found from previous command> /F

有没有一种方法可以自动分析先前的命令以将它们链接在一行中,所以我不必一直手动输入最新的PID?或者,如果有人知道更好的方法,也将不胜感激。

1 个答案:

答案 0 :(得分:1)

您将需要使用for循环来执行此操作,如下所示:

for /f "tokens=5" %A in ('netstat -ano ^| findstr /c:3000 ^| findstr /c:LISTENING') do taskkill /PID %A /F

希望这会有所帮助!