当前位置:首页 >> 脚本专栏

批处理下使用筛选器的函数

与命令重新定向管道符 (|) 联合使用,命令筛选器是这样一个命令,该命令包含在可读取命令的输入、可转换输入并写入输出的命令里。筛选器命令可以帮助您排序、查看和选择部分命令输出。

筛选器命令可以划分、重排以及提取通过的部分信息操作。下表列出 Windows XP 中可用的筛选器命令。

命令 说明 
more 在一个命令提示符窗口中每次显示一个文件的内容或一个命令的输出。 
find 在文件和命令输出中搜索您所指定的字符。 
sort 按字母顺序排列文件和命令输出。 

要将输入从文件发送到筛选器命令,请使用小于号 (<)。如果要使筛选器命令从其它命令获得输入,请使用管道 (|)。

使用 more 命令
more 命令在一个命令提示符窗口中每次显示一个文件的内容或一个命令的输出。例如,要在一个命令提示窗口中每次显示一个名为 List.txt 的文件的内容,请键入: 

more < list.txt 

出现一个包含信息的命令提示符窗口,然后在命令提示符窗口底部出现 -- More -- 提示。要继续前进到下一个命令提示符窗口,请在键盘上按任意键(除 PAUSE 之外)。要停止命令且不查看详细信息,请按 CTRL+C 键。

使用产生多个输出命令提示符窗口的命令时,可以使用 more 命令。例如,假定要查看硬盘上的目录树。如果命令提示符窗口不能将目录在一屏内全部显示出来,请使用带管道 (|) 和 more 命令的 tree 命令,如下例所示: 

tree c:\ | more 

出现由 tree 命令产生的第一个输出命令提示符窗口,后面跟着 -- More -- 提示。输出暂停,直到用户按键盘上的任意键为止(PAUSE 键除外)。

使用 find 命令
find 命令在文件中搜索指定的字符串或文字。Cmd.exe 显示与在命令提示符窗口中指定的字符串或文字相匹配的所有行。可以把 find 命令用作筛选器命令,也可以用作标准的 Windows XP 命令。有关如何将 find 用作标准命令的详细信息,请参阅 Find。

要将 find 命令用作筛选器命令,必须将小于号 (<) 和要搜索的字符串或文本包括在内。默认情况下,find 搜索将区分大小写。例如,下面的命令查找文件 Trade.txt 中所有的“Pacific Rim”字符串: 

find "Pacific Rim" < trade.txt 

输出不包括出现“pacific rim”的任何字符串。输出只包括所有首字母大写的“Pacific Rim”字符串。

要保存 find 命令的输出而不是在命令提示符窗口显示输出,请键入大于号 (>) 和要存储输出的文件的名称。例如,下面的命令查找文件 Trade.txt 中存在的“Pacific Rim”字符串,并将结果保存在 Nwtrade.txt 文件中: 

find "Pacific Rim" < trade.txt > nwtrade.txt 

使用 sort 命令
sort 命令按字母顺序排列文本文件或命令的输出。例如,下列命令对名为 List.txt 的文件的内容进行排序,并在命令提示符窗口中显示排序结果: 

sort < list.txt 

在此范例中,sort 命令对 List.txt 文件的行按字母列表进行排序并显示结果,但不更改文件。要保存 sort 命令的输出而不是显示输出,请键入大于号 (>) 和文件名。例如,以下命令对 List.txt 文件的行按字母顺序排序,并将结果存储到 Alphlist.txt 文件中: 

sort < list.txt > alphlist.txt 

要对命令输出进行排序,请键入该命令,键入管道 (|),然后键入 sort(即,command | sort)。例如,下列命令对包括字符串“Jones”(即,find 命令输出)的行按字母顺序进行排序: 

find "Jones" maillst.txt | sort