我正在通过一些Get-ChildItem
和Where-Object
指令将数据从Select-Object
推送到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
不接受ScriptBlocks,就像Where-Object
那样。你可能想要的是:
Select-Object -Property @{Name="Prefix"; Expression={"Fixed-prefix*" + $_.FullName}}
使用Expression定义自定义属性。该Expression是一个ScriptBlock并进行评估。