1

我正在尝试学习一点 Powershell,并且一直在将一个长存档脚本从 Dos 转换为 Powershell。这一直很好,但现在我正在探索重写以下部分的选项,如果 xml 文档中的字段 Recursive 为真,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)}}
4

1 回答 1

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)} 
于 2013-02-10T10:00:26.307 回答