Mit Get-childitem", um eine Liste der geänderten Dateien in den letzten 3 Tagen
Code wie es im moment
get-childitem c:\pstbak\*.* -include *.pst | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-3)} |
Im Grunde das, was ich versuche zu tun ist, erhalten Sie eine Liste alle PST-Dateien in dem Ordner oben auf Ihnen basieren wird, die neuer als 3 Tage alt sind. Ich würde dann gerne zähle die Ergebnisse. Der obige code nicht Fehler, sondern bringt null Ergebnisse (es gibt definitiv PST-Dateien in die Ordner, die neuer sind als drei Tage. Jemand eine Idee?
- ändern
-lt
im-gt
für die Datei geändert in den letzten 3 Tagen.. - Ein Hinweis für andere, die sich Fragen, warum wir filtern nach Erfassung aller Ergebnisse, anstatt mit den
-Filter
parameter.Filter
auf dieses cmdlet nimmt eine Maske, gegen die dasPath
verglichen; es nicht zulassen, dass Sie filter auf andere Eigenschaften, wie können Sie erwarten, dass aus müssen Sie diesen parameter auf andere cmdlets.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Sehr ähnlich zu den vorherigen Antworten, aber das ist aus dem aktuellen Verzeichnis, blickt auf eine Datei und nur für diejenigen, die sind 4 Tage alt. Dies ist, was ich brauchte für meine Forschung und die oben genannten Antworten waren alle sehr hilfreich. Danke.
Get-ChildItem -Path . -Recurse| Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-4)}
Hier ein kleines update zur Lösung zur Verfügung gestellt von Dave Sexton. Viele Male, müssen Sie mehrere Filter. Die Filter-parameter können nur einen einzigen string in der Erwägung, dass die -Include-parameter kann ein string-array. wenn Sie eine große Datei Baum es macht auch Sinn, um nur das Datum zu vergleichen mit einmal, nicht für jede Datei. Hier ist meine aktualisierte version:
Wollte ich nur hinzufügen, diese als Kommentar zu der vorherigen Antwort, aber ich kann nicht. Ich habe versucht, Dave Sexton's Antwort, aber hatte Probleme, wenn der Graf wurde 1. Diese Kräfte ein array, auch wenn ein Objekt zurückgegeben wird.
Es immer noch nicht null zurückgeben, wenn Sie leer sind, aber Test '-lt 1' funktioniert.