So löschen Sie alle Dateien, die nicht den Kriterien entsprechen

Maria Aktualisiert am Apr 16, 2024 to Fragen und Antworten zur Datenrettung | How-to Artikel

Zusammenfassung:

Ich habe einen Ordner voll mit Berichten. Jede Woche werden mehr Berichte veröffentlicht. Ich hätte gerne ein wöchentliches Skript, das alle Dateien in allen Unterordnern löscht, wenn das Ende des Dateinamens (außer der Erweiterung) nicht mit einer vordefinierten Phrase übereinstimmt. Alle Dateien, die nicht auf '07.02.16' ODER '31.01.16' enden, sollen z.B. zerstört werden. Bitte um Hilfe! Ich danke Ihnen vielmals.

Mithilfe von PowerShell können Sie bestimmte Dateien, die den Kriterien nicht entsprechen, explizit vom Löschvorgang ausschließen oder einschließen. Das folgende Cmdlet-Beispiel erläutert das Entfernen von Dateien mit dem Dateinamen *.LOG.

Eine Methode besteht darin, das Cmdlet "Remove-Item" direkt mit dem Argument -Include zu verwenden, wie unten dargestellt:

  • Remove-Item -Path C:\temp\* -Include *.log

Eine andere Methode, möglicherweise die konservativste, besteht darin, zunächst mit dem Cmdlet "Get-ChildItem " die Liste der zu löschenden Dateien zu erfassen. Sobald Sie mit der Liste der zu löschenden Dateien zufrieden sind, können Sie die Sammlung über die Pipeline an das Cmdlet "Remove-Item" weiterleiten. Der folgende Code ruft beispielsweise die *.LOG-Dateien in c:³temp.

  • Get-ChildItem -Path C:\temp\* -Include *.log

Mit Get-ChildItem wird eine Liste der Dateien erstellt, die dem Dateinamen *.LOG entsprechen. Was aber, wenn Sie Dateien mit der Nummer 07.02.16 in ihrem Namen ausschließen möchten? Sie können das Argument -Exclude angeben, wie im folgenden Code gezeigt:

  • Get-ChildItem -Path C:\temp\* -Include *.log -Exclude *07.02.16*

Da Sie die Datei mit der Nummer 07.02.16 ausgeschlossen haben, hat sich das Ergebnis geändert. Insbesondere die Datei File 07.02.16.log ist nicht mehr in der Liste enthalten.

  • Get-ChildItem -Path C:\temp\* -Include *.log -Exclude *07.02.16* | Remove-Item -Verbose

Wenn Sie mit der Sammlung von Dateien fertig sind, die Ihr Code erzeugt, übergeben Sie die Sammlung an das Cmdlet "Remove-Item", um diese Dateien endgültig zu löschen. Wenn Sie Ihren endgültigen Code ausführen, haben Sie Ihr Ziel, nur die angegebenen Dateien zu löschen, erreicht.

Erstellen Sie ein Skript, das den richtigen Speicherplatz für Sie bereitstellt. Sicherlich gibt es bereits einige Skripte für diesen Zweck; nutzen Sie sie auf jeden Fall als Referenz, aber wenn Sie bereit sind, zu üben und zu lernen, sollten Sie versuchen, Ihr eigenes zu schreiben.

Wenn eine Ihrer Dateien beschädigt wird, während das Skript der Eingabeaufforderung ausgeführt wird, können Sie lernen , wie Sie beschädigte Dateien mit einer Vielzahl von Methoden löschen können. Wenn Sie jedoch den falschen Pfad eingeben und versehentlich einige wichtige Dateien löschen, sollten Sie sofort aufhören, Ihren PC zu benutzen, und eine Dateiwiederherstellungsanwendung verwenden, um sie wiederherzustellen. EaseUS Data Recovery Wizard ist eine leistungsstarke Software, die gelöschte Dateien wiederherstellen kann.