使用PowerShell合并两个文本文件

9
我有两个包含数据的文本文件。
第一个文本文件包含了一个大的完整路径列表到我的文件。 d:\cat\cat1.txt
d:\test\file1-1.txt
d:\test\file1-2.txt
....
d:\test\file1-N.txt

第二个文本文件包含到我的 \files 文件夹的完整路径的简短列表。

d:\cat\file\cat2.txt

d:\test\file2-1.txt
d:\test\file2-2.txt

我需要第三个文件,其中包含以下内容:

d:\test\file1-1.txt
d:\test\file1-2.txt
d:\test\file2-1.txt
d:\test\file1-3.txt
d:\test\file1-4.txt
d:\test\file2-2.txt
d:\test\file1-5.txt
d:\test\file1-6.txt
d:\test\file2-1.txt

感谢您的帮助。

1
你需要解释一下输出排序的规则,否则我们只能猜测。 - zdan
2个回答

15

如果你想合并多个文件(2个或以上),可以执行以下操作:

gc d:\cat\cat1.txt,d:\cat\file\cat2.txt | out-file d:\cat\combinedcat.txt

从你的示例中不清楚你想要什么样的“特定”组合方式,因此你可能需要解释一下,但是文件合并的逻辑将如上述。


3
如果您想合并路径中的所有文本文件,请尝试以下命令:gc C:\Path*.txt | Out-file C:\Path\MergedTextFile.txt。 - The Woo
这很慢 - https://dev59.com/FmMm5IYBdhLWcg3wRdQz - Wjdavis5

4

获取两个文件的内容并将输出保存到一个新文件中:

Get-ChildItem d:\cat\cat1.txt,d:\cat\file\cat2.txt | 
  Get-Content | Out-File d:\cat\cat3.txt

为什么当我只有3个短文件并且将Get-ChildItem替换为Get-ChildItem -Recurse -Filter *.txt时,它实际上会在无限循环中添加这些文件? - Maurice Klimek
1
@MauriceKlimek 我也遇到了无限循环的问题。 - erotavlas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接