有人可以帮我理解为什么 $_ 对于 Add-Member 函数的工作方式与其他 PowerShell 函数的工作方式不同吗?我必须在这里遗漏一些细微差别。
使用下面的示例 CSV 文件,前 3 个示例可以正常工作。第四个看起来很简单,但没有。Powershell 返回的错误是:
The variable '$_' cannot be retrieved because it has not been set.
这是“正常”还是我写错了什么?
提前致谢。
Test.csv
Column1,Column2, Column3
Rock,1,abc
Paper,2,efg
Scissors,3,hij
$obj = Import-CSV "C:\test.csv"
(1) $obj | Add-Member -MemberType NoteProperty -Name IdNumber -value "ROCK" -PassThru| Format-Table
(2) $obj | ForEach-Object { $_ | Add-Member -MemberType NoteProperty -Name IdNumber -value $_.Column1 ; $_} | Format-Table
(3) $obj | ForEach-Object { Add-Member -InputObject $_ -MemberType NoteProperty -Name IdNumber -value $_.Column1 ; $_ } | Format-Table
(4) $obj | Add-Member -MemberType NoteProperty -Name IdNumber -value $_.Column1 -PassThru| Format-Table