Get-ChildItem
Cmdlet有一个-Recurse
开关。
我们如何称它在我们自己的自定义函数中传递开关?
function Get-Files {
[OutputType([int])]
param(
[string]$Path,
[string]$Filter,
[switch]$Recurse,
[int]$DaysBackModified,
[int]$DaysBackCreated
)
if ($Recurse) {
return Get-ChildItem -Path $Path -Filter $Filter -Recurse
} else {
return Get-ChildItem -Path $Path -Filter $Filter
}
}
是否可以避免if
?
答案 0 :(得分:0)
检查$PSBoundParameters
哈希表中是否存在切换。将结果转换为bool以考虑省略的开关。然后将其传递给-Recurse
的{{1}}开关。
Get-ChildItem
答案 1 :(得分:0)
好的,发现了这个:
return Get-ChildItem -Path $Path -Filter $Filter -Recurse:$Recurse