1

私は Powershell について少し学ぼうとしており、長いアーカイブ スクリプトを Dos から Powershell に変換しています。これはかなりうまくいっていますが、現在、次の部分を書き直すためのオプションを検討しています。xml ドキュメントからのフィールド Recursive が 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)}}
4

1 に答える 1

2

1 つの方法を次に示します。

$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 に答える