Startseite
» WINDOWS
»
Wie man unter Windows 10 Dateien löscht, aber Ordner behält
Wie man unter Windows 10 Dateien löscht, aber Ordner behält
Um unter Windows 10 Dateien zu löschen, aber Ordner beizubehalten, verwenden Sie PowerShell, um nur die Dateien aufzulisten und diese an den Löschbefehl zu übergeben Remove-Item. Die Ordner werden nicht mit dem Löschbefehl übergeben, sodass die Ordnerstruktur erhalten bleibt. Überprüfen Sie die Ziele vorher mit einem Befehl in -WhatIfder Vorschau: Dieser Vorgang umgeht den Papierkorb des Datei-Explorers. Erstellen Sie daher unbedingt eine Sicherungskopie, bevor Sie ihn ausführen.
Bevor Sie etwas löschen
Wählen Sie den übergeordneten Ordner aus, den Sie löschen möchten, und prüfen Sie, ob er keine benötigten Dateien mehr enthält. Schließen Sie Anwendungen, die diese Dateien möglicherweise verwenden. Wenn das Verzeichnis mit einem Cloud-Dienst synchronisiert oder für andere Personen freigegeben ist, berücksichtigen Sie die Auswirkungen des Löschens der Dateien auch dort.
Verwenden Sie einen vollständigen Ordnerpfad, nicht einen Laufwerksbuchstaben oder einen allgemeinen Speicherort wie z . B. C:\.
Sichern Sie zuerst wichtige Dateien. Remove-ItemEs gibt keinen Schritt zum Wiederherstellen aus dem Papierkorb im Datei-Explorer.
Führen Sie PowerShell mit einem Konto aus, das Zugriff auf das Zielsystem hat. Verwenden Sie zunächst ein normales Fenster für Ihre eigenen Dateien; die Kontoerweiterung hebt nicht alle Sicherheitsbeschränkungen auf.
Wählen Sie den übergeordneten Ordner aus, dessen Hierarchie Sie beibehalten möchten.
Vorschau der Dateien, die PowerShell entfernen wird
Öffnen Sie das Startmenü, suchen Sie nach Windows PowerShell und starten Sie es. Wählen Sie $rootden Ordner aus, den Sie leeren möchten. Achten Sie darauf, dass der Pfad in Anführungszeichen bleibt, insbesondere wenn er Leerzeichen enthält.
Ersetzen Sie den Beispielpfad durch Ihren eigenen. -LiteralPathDer Wert wird als Literalpfad behandelt, anstatt Platzhalterzeichen zu interpretieren. -FileDie Ergebnisse werden auf Dateien beschränkt, -RecurseDateien in verschachtelten Ordnern werden eingeschlossen und -Forceversteckte oder Systemdateien werden in die Suche einbezogen. Abschließend -WhatIfwird PowerShell aufgefordert, das Verhalten ohne das Löschen anzuzeigen.
Der Schalter -WhatIf listet die Zieldateien auf, ohne sie zu löschen.
Lesen Sie jeden in der Vorschau angezeigten Pfad. Vergewissern Sie sich, dass sich jeder Pfad innerhalb der Ordnerstruktur befindet, die Sie löschen möchten. PowerShell sollte die Dateivorgänge protokollieren. Wenn der Zielpfad falsch ist oder ein unerwartetes Verzeichnis angezeigt wird, halten Sie an und korrigieren Sie den $rootVorgang, bevor Sie fortfahren.
Überprüfen Sie die Pfade einzeln; die Vorschau sollte Dateien und nicht Verzeichnisse nennen.
Löschen Sie die Dateien und lassen Sie die Ordner bestehen.
Sobald die Vorschau korrekt ist, führen Sie dieselbe Pipeline, die nur Dateien verarbeitet, ohne folgendes aus -WhatIf:
Get-ChildItemDer Befehl liefert ausschließlich Dateiobjekte und Remove-Itemlöscht diese, während der Stammordner und seine Unterordner erhalten bleiben. Leere Ordner bleiben leer; sie werden durch diesen Befehl nicht entfernt. Mit dem zweiten Befehl -Forcelassen Remove-Itemsich versteckte oder schreibgeschützte Dateien entfernen, Zugriffskontrollen können jedoch nicht umgangen werden. Microsoft dokumentiert die Optionen für die reine Dateiauflistung und die rekursive Auflistung in der Referenz zu Get-ChildItem und erläutert sie -Forcein -WhatIfder Referenz zu Remove-Item .
Die verschachtelte Ordnerstruktur bleibt auch nach dem Löschen der Dateien erhalten.
Beschränken Sie die Bereinigung auf einen Dateityp.
Um nur eine bestimmte Dateiendung zu entfernen, fügen Sie vor dem Punkt einen Filter hinzu Remove-Item. Beispiel: Vorschau nur .txtder Dateien im gesamten Verzeichnisbaum anzeigen:
Nach der Vorschau führen Sie dieselbe Pipeline mit Remove-Item -Forceanstelle von aus Remove-Item -WhatIf. Bei wiederholten Dateinamen in verschiedenen Unterordnern filtern Sie nach $_.Namestatt nach $_.Extension, z. B. Where-Object { $_.Name -ieq 'image.png' }. Diese Filter wirken weiterhin auf Dateiobjekte, sodass die Ordnerstruktur erhalten bleibt.
Überprüfen Sie das Ergebnis und behandeln Sie Fehler.
Prüfen Sie, ob der Stammpfad noch existiert, und zählen Sie die Dateien, die PowerShell noch finden kann:
Der erste Befehl sollte einen Wert zurückgeben True. Ein Ergebnis von 0 0bedeutet, dass keine weiteren Dateien gefunden wurden. Falls Zugriffsfehler oder Meldungen über eine bereits verwendete Datei angezeigt werden, wurden die betroffenen Elemente nicht entfernt. Schließen Sie die App mit einer Datei und versuchen Sie es erneut. Verwenden Sie für geschützte Bereiche nur dann ein Konto mit den erforderlichen Berechtigungen, wenn Sie berechtigt sind, diese Dateien zu ändern. -ForceDie App verarbeitet einige Dateiattribute, jedoch keine Berechtigungsbeschränkungen.
Wenn Sie Dateien löschen, aber alle Ordnernamen beibehalten möchten, lassen Sie den -FileFilter aktiv und überprüfen Sie die -WhatIfAusgabe vor jedem eigentlichen Durchlauf. Vermeiden Sie Befehle wie Remove-Item $root -Recurse: Diese zielen auf den Inhalt von Verzeichnissen ab und können auch Ordner löschen.