0
我需要搜索,然后从多个txt文件中提取内容,然后将每个搜索结果保存为单独的txt文件。 serverabc.systeminfo.txt
。从多个txt文件中提取内容,然后根据文件夹保存文件。文件名
下面的工作原理会将所有结果返回到单个systeminfo.txt文件,该文件没有列出结果来自哪个文件夹/文件。
理想情况下,我需要为每个systeminfo提取单个文件输出。在提取的文件夹中有多个文件夹,即abc123,def456等。每个文件需要搜索“abc软件”或“def软件”中的systeminfo文件,然后如果发现将结果输出到单个文本文件,即abc123.systeminfo
等。
一旦保存了这些文件,它们将与master.txt
文件进行比较以获得差异。
$path = "H:\Compare\Extracted"
$Text = "abc Software"
$Text2 = "def Software"
$Results = "H:\Compare\Results\$($file.name).txt"
$files = Get-ChildItem $path -recurse -Include *.txt
foreach ($file in $files) {
Get-Content $file |
Select-String -Pattern $Text, $Text2 |
select line |
Out-File $Results -Append
}
嗨,这仍然返回所有结果到单个文件?我需要在H:\ compare \ extracted目录中搜索文本字符串中的所有txt文件,并将找到的每个文件的结果返回到H:\ compare \ results \ foldername.filename。 – dragonhsv
@dragonhsv我真的怀疑你是否在单个输出文件中得到所有结果,除非你只有一个文件显示匹配,或者你有多个同名的文件。请提供证据。要在输出文件名中包含文件夹名称,请参阅更新后的答案。 –
谢谢,对不起有关混淆,我的错误你是正确的所有文件名是相同的只是不同的文件夹,即severrname是“abc123”文件名都是“systeminfo.txt”谢谢 – dragonhsv