我想在我的 PC 上执行与 unix“cat”完全相同的操作。Windows 命令行是否有一个简单的等效命令?
具体来说,我想从文件夹中给定类型的所有文件中创建一个文件
在 Unix 中:
cat *fna >all_fna_files.fna
(将所有“.fna”文本文件合并为一个大文本文件)
答案1
type
它适用于command.com
、cmd
和 PowerShell(尽管在后者中它是 的别名Get-Content
,所以 也是cat
,因此您可以使用其中任何一个)。从维基百科文章(重点是我的):
在计算中,type 是各种 VMS 中的命令。AmigaDOS、CP/M、DOS、OS/2 和 Microsoft Windows 命令行解释器(shell),例如 COMMAND.COM、cmd.exe、4DOS/4NT 和 Windows PowerShell。它用于显示指定文件的内容。它类似于 Unix 的 cat 命令。
C:\>echo hi > a.txt
C:\>echo bye > b.txt
C:\>type a.txt b.txt > c.txt
C:\>type c.txt
hi
bye
答案2
从命令 shell 中:
copy a.txt + b.txt + c.txt output.txt
(但是这遵循命令 shell 使用 control-Z 作为文件结束标记,因此在某些情况下并不合适)。
在 PowerShell 中:
get-content a.txt,b.txt,c.txt | out-file output.txt
并且您可以控制(使用-Encoding
参数)文件编码(允许通过使用不同的编码进行读写进行转码)。
答案3
我刚刚以以下方式在 DOS(Windows 7 Pro)中使用 cat 命令,并成功将 3 个文件(log1.txt、log2.txt、log3.txt)合并为一个文件:
cat log*.txt >> myBigLogFile.txt
注意:cat log*.txt > myBigLogFile2.txt
也提供相同的结果,但它会覆盖前一个文件。