将get-childitem中的标志递归为字符串

时间:2013-02-10 09:38:00

标签: powershell

我正在尝试学习一些Powershell,并且已经将一个长存档脚本从Dos转换为Powershell。这已经很好了,但现在我正在探索重写以下部分的选项,如果从xml文档中递归字段为true,则get-childitem必须使用-Recurse标志。如果我能用一句话,任何想法来做这件事会很好吗?:

if ($parameter.Recursive -eq "true")
        { $items = Get-ChildItem $parameter.ProcesDir -Recurse | where {!$_.PsisContainer -and $_.CreationTime -lt (get-date).adddays(-$parameter.Retention)}} 
    else 
        { $items = Get-ChildItem $parameter.ProcesDir | where {!$_.PsisContainer -and $_.CreationTime -lt (get-date).adddays(-$parameter.Retention)}}

1 个答案:

答案 0 :(得分:2)

这是一种方式:

$recurse = if($parameter.Recursive -eq "true") {$true} else {$false}

$items = Get-ChildItem $parameter.ProcesDir -Recurse:$recurse | 
where {!$_.PsisContainer -and $_.CreationTime -lt (get-date).adddays(-$parameter.Retention)}