来自 PowerShell Export-Csv 的 CSV 数据在第一行包含 select 子句

CSV data from PowerShell Export-Csv contains select clause on first line

我正在通过一些 Where-ObjectSelect-Object 指令将数据从 Get-ChildItem 推送到 csv,如下所示。

问题是 csv 的第一行包含 Select 子句本身(例如字面上的 { “This part” + $_.AndThisBit }。不确定为什么我的部分代码会泄漏到数据中?

Get-ChildItem "E:\Some\Path" -Recurse -Include *.msg, *.eml | 
    Where-Object { $_.Name.StartsWith("Confidential") -eq $false } |
    Select-Object { "Fixed-prefix*" + $_.FullName } |
    Export-Csv -Path "C:\another\path\Results.csv" -NoTypeInformation

Select-Object doesn't take ScriptBlocks,就像 Where-Object 一样。您可能想要的是:

Select-Object -Property @{Name="Prefix"; Expression={"Fixed-prefix*" + $_.FullName}}

表达式定义自定义属性。该表达式是一个 ScriptBlock 并被评估。