代码之家  ›  专栏  ›  技术社区  ›  Nathan

按文件创建日期范围限制Powershell Get-ChildItem

  •  45
  • Nathan  · 技术社区  · 12 年前

    我使用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'
    
    3 回复  |  直到 12 年前
        1
  •  68
  •   Nate Hekman    8 年前

    使用 Where-Object 并测试 $_.CreationTime :

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

    使用 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'
    
        3
  •  2
  •   JJS Joel Coehoorn    10 年前

    修复它。。。

    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