首页 > 其他分享 >无涯教程-批处理 - Batch Files – Pipes函数

无涯教程-批处理 - Batch Files – Pipes函数

时间:2023-11-10 13:32:05浏览次数:33  
标签:Files exe Console Pipes notepad 无涯 命令 tasklist Services

管道运算符(|)获取一个命令的输出(默认为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命令将查找所有记事本类型的进程,并将其显示在命令提示符下。

tasklist | find "notepad"

以下是输出。

notepad.exe               1400 Console            1      8,916 K
notepad.exe               4016 Console            1      11,200 K
notepad.exe               1508 Console            1      8,720 K
notepad.exe               4076 Console            1      8,688 K

以下示例使用tasklist命令发送所有正在运行的任务的列表,并将输出发送到more命令。然后,more命令将一次一页显示正在运行的任务列表。

tasklist | more 

以下是输出

Image Name                PID Session Name  Session#     Mem Usage
======================    ================  ===========  ============
System Idle Process           0 Services        0             4 K
System                        4 Services        0           276 K
smss.exe                    344 Services        0         1,060 K
csrss.exe                   524 Services        0         4,188 K
csrss.exe                   608 Console         1        58,080 K
wininit.exe                 616 Services        0         3,528 K
winlogon.exe                644 Console         1         5,636 K
services.exe                708 Services        0         7,072 K
lsass.exe                   716 Services        0        10,228 K
svchost.exe                 784 Services        0        10,208 K
svchost.exe                 828 Services        0         7,872 K
dwm.exe                     912 Console         1       208,316 K
nvvsvc.exe                  932 Services        0         6,772 K
nvxdsync.exe                968 Console         1        16,584 K
nvvsvc.exe                  976 Console         1        12,780 K
svchost.exe                1008 Services        0        20,340 K
svchost.exe                 224 Services        0        39,740 K
svchost.exe                 468 Services        0        11,864 K
svchost.exe                 860 Services        0        11,184 K
svchost.exe                 232 Services        0        16,992 K
wlanext.exe                1168 Services        0        12,840 K
-- More --

以下示例使用tasklist命令发送所有正在运行的任务的列表,并将输出发送到find命令, find命令将查找所有记事本类型的进程,然后使用重定向命令将内容发送到tasklist.txt文件。

tasklist | find "notepad" > tasklist.txt

如果打开文件tasklist.txt,将获得以下示例输出。

notepad.exe            1400 Console            1      8,916 K
notepad.exe            4016 Console            1      11,200 K
notepad.exe            1508 Console            1      8,720 K
notepad.exe            4076 Console            1      8,688 K

参考链接

https://www.learnfk.com/batch-script/batch-script-files-pipes.html

标签:Files,exe,Console,Pipes,notepad,无涯,命令,tasklist,Services
From: https://blog.51cto.com/u_14033984/8297266

相关文章

  • 无涯教程-批处理 - Moving Files函数
    对于移动文件,批处理脚本提供了MOVE命令。MOVE[/Y|/-Y][drive:][path]filename1[,...]destination以下是可以提供给DEL命令的选项的说明。S.No.Options&描述1.[drive:][path]filename1指定要移动的文件的位置和名称2.destination指定文件的新位置,目标可以由......
  • 16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及FileSyst
    文章目录Flink系列文章一、Table&SQLConnectors1、概述2、支持的外部连接3、使用示例:kafka4、Transformtableconnector/formatresources5、SchemaMapping6、Metadata7、PrimaryKey8、TimeAttributes9、ProctimeAttributes10、RowtimeAttributes11、完整示例1)、建表2)、......
  • 无涯教程-批处理 - Renaming Files函数
    对于重命名文件,批处理脚本提供REN或RENAME命令。RENAME[drive:][path][directoryname1|filename1][directoryname2|filename2]让无涯教程看一些重命名文件的示例。rename*.txt*.bak上面的命令会将所有文本文件重命名为扩展名为.bak的文件。rename"TESTA.txt""TES......
  • 无涯教程-批处理 - Writing to Files函数
    通过重定向过滤器>也可以将内容写入文件,该过滤器可用于将任何输出重定向到文件,以下是一个简单的示例,说明如何使用redirection命令创建文件以将数据写入文件。@echooffdirC:\>C:\new.txt上面的代码片段首先使用DIR命令来获取整个C:\的目录列表。然后,它将获取该输出,并在重定向......
  • 无涯教程-批处理 - Creating Files函数
    新文件的创建是在重定向过滤器>的帮助下完成的,该过滤器可用于将任何输出重定向到文件。@echooffecho"Hello">C:\new.txt如果文件new.txt在C:\中不存在,则将在上述命令将创建new.txt文件,并将hello写入文件。参考链接https://www.learnfk.com/batch-script/batch-script-crea......
  • 无涯教程-批处理 - Local Variables in Functions函数
    函数中的局部变量可用于避免名称冲突,并将变量更改保持在函数本地,首先使用SETLOCAL命令来确保命令处理器备份所有环境变量,可以通过调用ENDLOCAL命令来恢复变量,当到达批处理文件的末尾时,即通过调用GOTO:EOF,将自动调用ENDLOCAL。使用SETLOCAL对变量进行本地化允许在函数内自由使用......
  • 无涯教程-批处理 - Functions with Return Values函数
    函数可以通过简单地传递变量名称来使用返回值,这些变量名称将在调用函数时保存返回值,如下所示Call:function_namevalue1,value2…valuen使用set命令和tilde(〜)字符以及参数的位置编号在函数中设置返回值。下面的示例演示如何使用返回值调用函数。@echooffSETLOCALCALL......
  • 无涯教程-批处理 - Classic for 循环 Implementation函数
    以下是大多数编程语言中可用的经典"for"语句。for(variabledeclaration;expression;Increment){statement#1statement#2…}批处理脚本语言没有类似于上述语法的直接"for"语句,但仍然可以使用if语句和标签来实现经典的"for"循环语句。让无涯教程看看批处理......
  • 无涯教程-批处理 - For 语句 - List Implementations函数
    "for"构造为批处理文件提供循环功能,以下是用于处理值列表的"for"语句的常见结构。FOR%%variableINlistDOdo_something经典的"for"语句由以下部分组成-variable变量    -对于整个循环,此步骤仅执行一次,并用于声明将在循环中使用的任何变量,在批处理脚本中变量声......
  • 无涯教程-批处理 - While 语句 Implementation函数
    批处理脚本中没有直接的while语句,但是无涯教程可以使用if语句和标签很容易地实现此循环。下图显示了此循环的图解说明。while实现的第一部分是设置计数器,这些计数器将用于控制对"if"条件的判断,然后,无涯教程定义标签,该标签将用于体现while循环实现的整个代码,"if"条件将计算表......