none
如何透過powershell針對檔案進行多條件的篩選並產出報告 RRS feed

  • 問題

  • 各位先進您好

    我想請問如何透過powershell針對檔案進行多條件的篩選並產出報告,

    有參考網路資料寫出下列powershell,

    $old = (Get-Date).AddDays(-365)
    $arr = @()
    gci E:\testfolder -recurse | ? {$_.PSIsContainer -eq $False} | % {
      $obj = New-Object PSObject
      $obj | Add-Member NoteProperty Directory $_.DirectoryName
      $obj | Add-Member NoteProperty Name $_.Name
      $obj | Add-Member NoteProperty Length $_.Length
      $obj | Add-Member NoteProperty Access $_.LastAccessTime
      $obj | Add-Member NoteProperty Owner ((Get-ACL $_.FullName).Owner)
      $arr += $obj
      }
      $arr| where {($_.length -ge 100MB) -and $_.LastAccessTime -lt $old} | Sort-Object length -descending | Export-CSV -Encoding unicode -notypeinformation "d:\scripts\report.csv"

    看起來運作正常,執行無異常,也都能找出超過100MB的檔案,

    但是第二個條件最後存取入時間卻都會不時有幾個未超過一年的也被選入,但去看資料夾其實大部分都被篩選掉了,

    不曉得是我哪裡有寫錯了嗎??? 再請各位先進指導,感謝


    2014年9月30日 下午 09:20

所有回覆