2016-08-03 4 views
1

私はこれには新しく、それは私を夢中にしています。私は私たちのファイルサーバー上の15年(5475日)より古いフォルダの作成日のリストを取得し、それをExcelにエクスポートしようとしています。PowerShellでフォルダを作成した日付のリスト

が、私はさまざまな方法のカップルを試してみましたが、私が働いていたと思った1渡って来たが、それはそれだけですべて .csvファイルにフォルダの日付をスロー判明しました笑私はこのコードは、おそらく災害で実現し、私はいくつかの助けを探しています。感謝:)

Function Get-NeglectedFiles {  
    Param([string[]]$path, [int]$numberDays) 

    $cutOffDate = (Get-Date).AddDays(-$numberDays) 

    Get-ChildItem -Recurse -Path $path 
    Where-Object { $_.CreationTime -le $cutOffDate -and { $_.Attributes -eq 'Directory' } } 
} 

Get-NeglectedFiles -path "S:\Test" -numberDays 2000 | 
    Select-Object FullName, CreationTime | 
    Export-Csv -Path C:\Scripts\Test.csv -NoTypeInformation 
+3

を試してみてください "|" Get-ChildItemとWhere-Objectの間にあります。フィルターは機能しないため、決して適用されません。 'Get-ChildItem -Recurse -Path $ path | Where-Object ... ' –

+0

または、コマンドを単純に 'Get-ChildItem -Recurse -Path $ path -Attributes Directory | Where-Object CreationTime -le $ cutOffDate' – Honzajscz

+0

ああ...ああ。有難うございます。私はそれを撃つだろう。 編集:CreationTimeの作品は完全に動作しています!ありがとうございました。しかし、ディレクトリだけでなく、すべてのファイルタイプを取得しています。私はその部分を清掃してみる必要があります。 –

答えて

1

は、あなたが不足しているこの

Function Get-NeglectedFiles 
{ 
    Param(
    [string[]]$path, 
    [int]$numberDays) 

    $cutOffDate = (Get-Date).AddDays(-$numberDays) 
    Get-ChildItem -Recurse -Path $path -Attributes Directory | 
    Where-Object CreationTime -le $cutOffDate 
} 
+0

こんにちは、コードと一緒に簡単な説明を含めてください。あなたには明らかに見えるかもしれませんが、OPにとっては同じではないようです。 – sodawillow

+0

'$ cutOffDate =(Get-Date).AddDays( - $ numberDays)'は、現在の日付から希望の日数を減算します。 'Get-ChildItem -Recurse -Path $ path -Attributes Directory'は、' $ path'のすべてのサブディレクトリを通過し、ディレクトリのみを返します(ファイルは省略します)。ディレクトリは 'Where-Object CreationTime -le $ cutOffDate'に にパイプされ、' $ cutOffDate'よりも 'CreationTime'というプロパティを持つディレクトリを保持します。結果は暗黙的に関数から返されます。それは明確ですか? – Honzajscz

+0

ご返信ありがとうございます。私はそれを試して、と言ったエラーが発生しました "Get-ChildItem:パラメータ名 '属性'に一致するパラメータが見つかりません。 PowerShellのバージョンに問題はありますか? –

関連する問題