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