2016-05-16 71 views
1

我想要来自文件夹中所有文件的错误消息,并仅将每个文件的错误消息打印到新的txt文档。这是我迄今为止所做的。我不知道如何继续将错误信息保存到新的txt文档。Powershell获取内容和Get-ChildItem

我只希望所有日志文件中的每一行都将该错误消息保存到新文档中。因此,当您打开新文档时,您只能看到错误信息和来自哪里的路径。

Get-ChildItem "H:\Script\Log_test" -Filter "*.log" -recurse | Select-String -pattern "error" | group path | select name | Out-File "H:\Script\Log_test\result.txt" 

回答

1

只是selectSelect-String cmdlet返回与-expand开关MatchInfo对象的Line属性:

Get-ChildItem "H:\Script\Log_test" -Filter "*.log" -recurse | 
    Select-String -pattern "error" | 
    select -expand Line | 
    Out-File "H:\Script\Log_test\result.txt" 
+0

谢谢!在过滤文件的同时,是否可以过滤文件夹? – Thun

+0

你究竟是什么意思? –

+0

当我使用-Filter“* .log”我可以使用这个文件夹吗? – Thun