【发布时间】:2018-09-08 06:54:41
【问题描述】:
我正在通过一些 Where-Object 和 Select-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
【问题讨论】:
-
根据经验,避免过多的管道。如果有中间变量要检查,调试代码会容易得多。
-
@vonPryz,对于调试,这可能是正确的,但不是一般的经验法则,例如生产脚本。将流分配给变量会阻塞管道并可能影响性能。
标签: powershell get-childitem select-object