我知道如何获取数据并使用某种模式搜索数据。但这不是我需要的。
Get-ChildItem -recurse -Filter *.xml | Get-Content | Select-String -pattern "something here"
我正在搜索100个GPO xml文件,我们正在尝试删除一遍又一遍执行相同操作的GPO。我想找到独特的价值观并将它们组合成一个快乐的gpo并摆脱所有多余的价值观。
我的目标:
1)从100个子文件夹中获取所有* .xml文件中的所有信息,并将它们合并为一个文件。
2)查找包含相同字符串的所有行并获取该字符串的计数。我需要对组合文件中的所有字符串进行计数。
3)我的目标是找到唯一的行并将它们保存到文件中,以供进一步使用。
答案 0 :(得分:2)
这是使用Hashtable
的快速而肮脏的方法。由于Hashtable
setter会执行"更新或创建",您最终会得到一个不同的列表:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $true}
$ht.Keys
编辑:刚刚看到你想要的数字。你可以这样做:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $ht[$_]+1}
$ht
要导出为CSV:
$ht.GetEnumerator() | select key, value | Export-Csv D:\output.csv