管道运算符(|)将一个命令的输出(默认为STDOUT)引导到另一个命令的输入(默认为STDIN)。 例如,以下命令将目录C:\的内容进行排序。
dir C:\ | sort
在这个例子中,两个命令同时启动,但是sort命令暂停,直到它接收到dir命令的输出。 sort命令使用dir命令的输出作为输入,然后将其输出发送到句柄1(即STDOUT)。
以下是pipe命令的另一个示例。 在这个例子中,文件C:\new.txt的内容通过管道过滤器发送到sort命令。
@echo off
TYPE C:\new.txt | sort
将命令与重定向操作符组合在一起
通常,管道操作符与重定向操作符一起使用,以便在处理管道命令时提供有用的功能。
例如,下面的命令将首先获取C:\中定义的所有文件,然后使用pipe命令将查找所有带.txt扩展名的文件。 然后它将获取这个输出并将其输出到文件AllText.txt中。
dir C:\ | find "txt" > AllText.txt
使用多个管道命令
要在同一命令中使用多个过滤器,请使用管道(|)分隔过滤器。 例如,以下命令搜索驱动器C:\上的每个目录,找到包含字符串“Log”的文件名,然后将它们一次显示在一个“命令提示符”窗口中 -
dir c:\ /s /b | find "TXT" | more
以下是一些如何使用管道过滤器的例子。
例子
以下示例使用tasklist命令发送所有正在运行的任务的列表,并将输出发送到find命令。 然后,find命令将查找所有类型为QQ的进程,并将其显示在命令提示符中。
tasklist | find "QQ"
以下是一个示例输出 -
C:\Users\Administrator>tasklist | find "QQ"
QQProtect.exe 5672 Services 0 14,136 K
QQ.exe 11672 Console 1 164,156 K
QQExternal.exe 8428 Console 1 32,484 K
以下示例使用tasklist命令发送所有正在运行的任务的列表,并将输出发送到more命令。 然后,more命令将一次显示一页运行任务的列表。
tasklist | more
执行上面示例代码,得到以下结果 -
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 K
System 4 Services 0 136 K
smss.exe 396 Services 0 852 K
csrss.exe 568 Services 0 4,532 K
wininit.exe 656 Services 0 5,328 K
csrss.exe 668 Console 1 4,884 K
winlogon.exe 764 Console 1 7,724 K
services.exe 884 Services 0 8,284 K
lsass.exe 892 Services 0 13,156 K
fontdrvhost.exe 1000 Services 0 3,776 K
fontdrvhost.exe 1008 Console 1 24,784 K
svchost.exe 412 Services 0 3,496 K
svchost.exe 528 Services 0 22,596 K
WUDFHost.exe 880 Services 0 6,132 K
svchost.exe 832 Services 0 11,216 K
svchost.exe 1036 Services 0 8,152 K
dwm.exe 1124 Console 1 44,432 K
-- More --
以下示例使用tasklist命令发送所有正在运行的任务的列表,并将输出发送到find命令。 然后,find命令将查找所有类型为chrome的进程,然后使用重定向命令将内容发送到文件tasklist.txt。
tasklist | find "chrome" > tasklist.txt
如果打开文件tasklist.txt,就会得到如下的输出结果 -
chrome.exe 11416 Console 1 164,340 K
chrome.exe 4564 Console 1 10,108 K
chrome.exe 9824 Console 1 10,312 K
chrome.exe 11984 Console 1 86,592 K
chrome.exe 12080 Console 1 23,272 K
chrome.exe 11360 Console 1 139,212 K
chrome.exe 9404 Console 1 108,488 K
chrome.exe 1240 Console 1 74,468 K
chrome.exe 10280 Console 1 119,784 K
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。