Frage

Das folgende Skript löscht Dateien in einem genannten Verzeichnis, das älter als 14 Tage ist und an a schreibt .txt Mit dem Pfad und den Dateien gelöscht (fand dieses Skript in einem anderen Forum. Credit to Shay):

dir c:\tmp -recurse | where {!$_.PsIsContainer -AND $_.lastWriteTime -lt (Get-Date).AddDays(-14) } | select LastWriteTime,@{n="Path";e={convert-path $_.PSPath}} | tee c:\oldFiles.txt | Remove-Item -force -whatif

Ich habe 3 Fragen:

  1. Was ist -lt und was ist -le und was ist -gt? Wann würde ich jeden verwenden
  2. Das obige Skript löscht nur die Datei ... Wie kann ich auch Ordner löschen?
  3. Das obige Skript basiert auf LastWriteTime .. wie wäre es mit CreatedDate oder LastAccessed Zeit?
War es hilfreich?

Lösung

Ok, los geht's:

  1. -lt, -le und -GT sind Vergleichsbetreiber. LT bedeutet weniger als, le weniger oder gleich als und GT bedeutet größer als.

  2. Das Entfernen von Ordnern kann gefährlich werden, wenn Sie nicht die Kontrolle darüber haben, was darin liegt. Sie können Probleme haben und sich des Datenverlusts bewusst sind. Sie können Ordner löschen, indem Sie das gleiche CMDLet entfernen, nur mit den Optionen spielen. Überprüfen Sie diesen Artikel, er hat großartige Anweisungen zum Erreichen:http://searchwindowsserver.techtarget.com/generic/0,295582,sid68_gci1275887,00.html

  3. Normalerweise ist für Dateien, die schon eine Weile dort sitzen, letztesWritetime und CreatedDate und Last AccessTime identisch. In einer schreibgeschützten Datei, wie eine DLL, ist Last AccessTime möglicherweise neuer als die anderen beiden. In einer Lese-/Schreibdatei (wie PST -Datei von Outlook) ist WriteTime und AccessTime möglicherweise gleich. Grundsätzlich liegt das völlig bei Ihnen. Sie arbeiten genauso wie LastWritetime. Betrachten Sie die Art der Dateien, die Sie löschen möchten, und machen Sie weiter!

Andere Tipps

Die -lt -le und -GT sind Vergleichsoperatoren anstelle von <, <=,>. Typ "Hilfe über_comparison_operators"Bei der PowerShell -Eingabeaufgabeaufforderung für die Details zu jedem Typ und den Grund für die Verwendung dieser anstelle derjenigen, mit denen Sie aus anderen Sprachen vertraut sind.

Um auch Ordner zu löschen, müssen Sie die entfernen ! $. Psiscontainer und Teil des Wehenfilters. Dadurch werden alle Elemente aus den Listen entfernt, die Verzeichnisse sind.

Ich bin mir nicht sicher, was Sie mit der Frage "Was ist mit der Erstellung oder Last Access Time?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top