我目前正在编写一个脚本,将几个文本文件的所有内容合并到一个文件中。我想(如果可能的话),写入文件,该文件内容上方的文件名。
示例:
Textfile1.txt
ContentContentContent
ContentContentContent
Textfile2.txt
ContentContentContent
ContentContentContent
Textfile3.txt
ContentContentContent
ContentContentContent
这可能吗?
答案 0 :(得分:1)
Dir
命令获取了我们想要的文件列表,然后将其输入ForEach
以运行{scriptblock}。然后我们将构建一个$variable
来创建我们将添加到现有文件(Output.txt)的文本blob。
我们可以使用$_
变量来提取FileName属性,然后使用Get-Content
cmdlet获取文件的文本,为我们提供您想要的字段。我们将它们与`n NewLine角色联系在一起。最终结果是:
dir *.txt | ForEach {
$variable = "$($_.Name)`n$(Get-content $_.FullName)"
Add-Content -Value $variable -Path .\Output.txt
}
这为我们提供了这样的输出:
TextFile1.txt
ContentContentContent ContentContentContent
TextFile2.txt
ContentContentContent ContentContentContent
TextFile3.txt
ContentContentContent ContentContentContent