Ограничение Powershell Get-ChildItem по диапазону дат создания файлов

Я использую команду Powershell для создания отчета CSV определенных типов файлов. Моя цель-выяснить, сколько было добавлено в течение определенного диапазона дат. Прямо сейчас сценарий находит все, и я сортирую по дате, чтобы найти свой номер. Я хотел бы изменить команду, чтобы возвращать объекты только в пределах ярости даты создания, т. е. если этот файл был создан между 1 марта 2013 и 31 марта 2013. Вероятно, есть способ ограничить команду диапазоном дат, вероятно, используя Select-Object, я просто не могу понять это.

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 'PATHscans.csv'

3 ответов


использовать Where-Object и проверить $_.CreationTime:

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

использовать 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'

исправил...

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