我正在尝试从一系列文本文件中提取文本到.txt文档。文本文件存储在桌面上的一系列子目录中。
到目前为止,我可以使用正则表达式从特定文本文件中获取变量,但我需要它来搜索跨越多个目录的多个文件 - 而不是我指向它的单个文件。
$input_path = "C:\Users\Darren\Desktop\FolderofData\DataFile1.txt"
$regex = '(\W"_[a-z]+\W)'
$output_file = "C:\Users\Darren\Desktop\Extracted_Data.txt"
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
这可以在PowerShell中使用吗?
答案 0 :(得分:2)
您可以将FileInfo
个对象(例如从Get-ChildItem
返回的对象)传递给Select-String
:
Get-ChildItem $home\Desktop -Filter Data*.txt |Select-String -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file