Powershell递归搜索选择.txt文件,然后将所有文件的内容输出到单个.txt文件中

ElG*_*mba 2 powershell pipe get-childitem

非常感谢任何帮助。

我有一个包含 30 多个文件夹的文件夹,每个文件夹都有一个 .txt 文件,我可以使用以下命令进行搜索:

Get-ChildItem -Filter *.txt -Recurse

我想读取发现的每个 .txt 文件的内容,并将内容输出到桌面上的新 .csv 文件中,该文件还包括显示的每个 .txt 文件内容的目录。

问题是双重的,

  1. 如何使用管道和 powershell 命令读取/显示文件中的所有单词。

  2. 如何创建将输出目录名称和 .txt 文件内容的 csv 数据。

我已经可以将结果传送到:

c:\desktop\test.csv -编码 ascii -noTypeInformation

Tob*_*byU 5

以下脚本读取特定目录中的所有 .txt 文件,将完整文件名和路径以及文件内容存储到数组中并将其另存为 csv。

$csvOut = @()
Get-ChildItem -LiteralPath C:\temp -Filter *.txt -File -Recurse | foreach {

    $fileData = @{
        "File"=$_.FullName;
        "Content"=(Get-Content -LiteralPath $_.FullName -Raw)
    }
    $csvOut += (New-Object psobject -Property $fileData)
}

$csvOut | Export-Csv -LiteralPath "C:\temp\csvout.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)