web-dev-qa-db-ja.com

ファイル作成の日付範囲によるPowershell Get-ChildItemの制限

Powershellコマンドを使用して、特定のファイルタイプのCSVレポートを生成します。私の目標は、特定の日付範囲内に追加された数を調べることです。今、スクリプトはすべてを見つけ、日付でソートして番号を見つけます。たとえば、このファイルが2013年3月1日から2013年3月31日の間に作成された場合、作成日範囲内のオブジェクトのみを返すようにコマンドを変更したいと思います。オブジェクト、私はそれを理解することはできません。

Get-ChildItem 'PATH' -recurse -include @("*.tif*","*.jp2","*.pdf") | Select-Object FullName, CreationTime, @{Name="Mbytes";Expression={$_.Length/1Kb}}, @{Name="Age";Expression={(((Get-Date) - $_.CreationTime).Days)}} | Export-Csv 'PATH\scans.csv'
28
Nathan

つかいます Where-Objectおよび$_.CreationTime

Get-ChildItem 'PATH' -recurse -include @("*.tif*","*.jp2","*.pdf") | 
    Where-Object { $_.CreationTime -ge "03/01/2013" -and $_.CreationTime -le "03/31/2013" }
48
Nate Hekman

つかいます Where-Object、次のように:

Get-ChildItem 'PATH' -recurse -include @("*.tif*","*.jp2","*.pdf") | 
Where-Object { $_.CreationTime -gt "03/01/2013" -and $_.CreationTime -lt "03/31/2013" }
Select-Object FullName, CreationTime, @{Name="Mbytes";Expression={$_.Length/1Kb}}, @{Name="Age";Expression={(((Get-Date) - $_.CreationTime).Days)}} | 
Export-Csv 'PATH\scans.csv'
2
Frode F.

修正した...

Get-ChildItem C:\Windows\ -recurse -include @("*.txt*","*.pdf") |
Where-Object {$_.CreationTime -gt "01/01/2013" -and $_.CreationTime -lt "12/02/2014"} | 
Select-Object FullName, CreationTime, @{Name="Mbytes";Expression={$_.Length/1Kb}}, @{Name="Age";Expression={(((Get-Date) - $_.CreationTime).Days)}} | 
Export-Csv C:\search_TXT-and-PDF_files_01012013-to-12022014_sort.txt
1
user4316099