Powershell将文件名添加到文本文件中

时间:2015-03-19 15:44:03

标签: powershell

我目前正在编写一个脚本,将几个文本文件的所有内容合并到一个文件中。我想(如果可能的话),写入文件,该文件内容上方的文件名。

示例:

Textfile1.txt

ContentContentContent
ContentContentContent

Textfile2.txt

ContentContentContent
ContentContentContent

Textfile3.txt

ContentContentContent
ContentContentContent

这可能吗?

1 个答案:

答案 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