无法将日志文件的内容加入单个文档

时间:2018-03-26 17:26:52

标签: powershell

我将日志文件存储在文件夹D:\TILT_Logs的多个子目录中。我想将所有文件合并到一个文档D:\TILT_Logs\Combined.log

我当前的脚本似乎正在跳过一些文件,但我不确定原因。

$combine = GCI 'D:\TILT_Logs' -Recurse -Filter '*.log'

Get-Content $combine.FullName | Set-Content 'D:\TILT_Logs\Combined.log'

当我打开Combined.log时,它会丢失一些日志文件中的数据,但我无法弄清楚它们被跳过的原因。

**编辑 - 我还运行echo $combine以确保我的GCI正在处理所有文件,而且它是。所有文件都由GCI寻址并得到回应,但只有一小部分文件进入Combined.log

某些似乎已被跳过的文件是

D:\TILT_Logs\Dec\12_29\Tilt.12892.2017_12_29.log

D:\TILT_Logs\March\3_6_Kutchey\Tilt.4740.2018_03_06.log

有没有人有想法?

由于

1 个答案:

答案 0 :(得分:3)

如果您使用Add-Content命令行开关,它将追加而不是替换

$combine = GCI 'D:\TILT_Logs' -Recurse -Filter '*.log'

Get-Content $combine.FullName | Add-Content 'D:\TILT_Logs\Combined.log'

编辑将这些命令简化为一行也是有效的,归功于Mathias R. Jessen

Get-ChildItem 'D:\TILT_Logs' -Recurse -Filter '*.log' | Get-Content | Add-Content 'D:\TILT_Logs\Combined.log'