Powershell切换自定义功能

时间:2016-10-25 13:52:50

标签: powershell parameters

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

2 个答案:

答案 0 :(得分:0)

检查$PSBoundParameters哈希表中是否存在切换。将结果转换为bool以考虑省略的开关。然后将其传递给-Recurse的{​​{1}}开关。

Get-ChildItem

答案 1 :(得分:0)

好的,发现了这个:

return Get-ChildItem -Path $Path -Filter $Filter -Recurse:$Recurse