我正在尝试学习一些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)}}
答案 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)}