我有大约50个文件,我要整合成一个文件名,然后是该文件的内容,然后在输出文件之后留下一行可能是虚线。它应该看起来像这样
File name -ABC xxxxxxxxxxxxxxxx (Content of the file) ..................... (dotted line after output) File Name - CDE xxxxxxxxxxxx (Content of the file) ...................
Get-ChildItem C:\temp | Get-Content
此脚本为我提供的输出不是我想要的格式。我找不到获取文件名的方法。
答案 0 :(得分:4)
你想要的是相当微不足道的。您只需要ForEach-Object
循环来单独处理每个输入文件,并使用格式运算符(-f
)将数据注入模板字符串:
Get-ChildItem 'C:\temp' | ForEach-Object {
@'
File name - {0}
{1}
.....................
'@ -f $_.Name, (Get-Content $_.FullName -Raw)
} | Out-File 'C:\path\to\output.txt'