有人可以解释一下这种语法吗?我认为它不起作用,所以如果你能帮我找到另一种语法。
$fichesAEnvoyer = @($fiches | where {($_.TypeFiche -eq '2') -and (($_.Causes -eq '') -or ($_.Causes -eq $null) -or ($_.Causes.Count -eq 0) -or ($_.ActionCorrective -eq '') -or ($_.ActionCorrective -eq $null) -or ($_.DateActionCorrective -eq '') -or ($_.DateActionCorrective -eq $null) -or ($_.ActionPreventive -eq '') -or ($_.ActionPreventive -eq $null) -or ($_.DateActionPreventive -eq '') -or ($_.DateActionPreventive -eq $null) )})
我不明白为什么$_
代替$fiches
答案 0 :(得分:0)
$ _ 是 where cmdlet创建的变量,用于表示管道中的当前对象。例如,如果你这样做:
1,2,3 | where {$_ -ge 2} | Write-Host
然后 $ _ 将设置为1,然后设置为2,然后设置为3.