如何将文本文件连接到管道?

时间:2014-08-28 01:11:15

标签: windows-7 cmd

什么命令会将匹配通配符模式的文本文件连接到管道中?我想重新编码,例如。

COPY Q:\Playlists\*.m3u %TEMP%\all.txt /b >nul
SORT %TEMP%\all.txt > %ALL%

没有临时文件,例如

somecommand Q:\Playlists\*.m3u | sort > %ALL%

没有目标文件名的COPY会复制到当前目录,而不是管道(并使用文件名来填充控制台)。带通配符源的TYPE在输出中插入不需要的文件路径。编辑:当MC ND指出时,TYPE的不需要的输出转到stderr,而不是管道(stdout)。

1 个答案:

答案 0 :(得分:2)

几乎完成了。只需删除类型命令

的不需要的输出
type Q:\Playlists\*.m3u 2>nul | sort > %ALL%

type命令处理多个文件时,处理过的文件列表将回显到标准错误流,即流编号2.因此,请将流2重定向到nul

已修改以适应评论。

如上所述,type命令仅在多于操作所涉及的文件时输出文件名。因此,您只能在一个文件上使用type命令并遍历列表

(for %%a in (*.m3u) do type "%%a") | sort > %ALL%