Wie Sie alle .DS_STORE-Dateien aus einem Verzeichnis auf einem Windows-Computer rekursiv löschen?

1350
tarabyte

Ich entpackte eine .zipauf einem Mac komprimierte Datei und stellte fest, dass die Komprimierung alle .DS_STOREMeta-Verzeichnisdateien enthielt (ich denke, sie hat die Spotlight-Suche beschleunigt, aber neben dem Punkt?).

Gibt es einen One-Liner, den ich aus einer Windows PowerShell oder einem einfachen Python-Skript ausführen kann, um diesen Ordner durch rekursives Löschen dieser Dateien zu bereinigen?

Ich erhalte den Fehler: FIND: Parameter format not correctbei der Verwendung von:

find . -name '*.DS_Store' -type f -delete 
0
Am einfachsten suchen Sie einfach nach den Dateien in Windows Explorer (Strg-F), markieren Sie sie und löschen Sie sie. dangph vor 9 Jahren 0

2 Antworten auf die Frage

2
dangph

In PowerShell machen Sie dies:

cd MyFolder  Get-ChildItem -recurse -filter .DS_STORE | Remove-Item -WhatIf 

Wenn Sie dies angeben -WhatIf, nimmt PowerShell keine Änderungen vor. Es wird Ihnen stattdessen sagen, was es getan hätte. Wenn Sie mit dem, was es tut, zufrieden sind, können Sie das entfernen -WhatIf. (Es lohnt sich immer, beim rekursiven Löschen vorsichtig zu sein. Sie möchten nicht die falschen Dinge löschen.)

Löscht nur den ersten .DS_STORE, nicht die anderen im Unterverzeichnis tarabyte vor 9 Jahren 0
@Tarabyte, sorry, Antwort wurde aktualisiert. dangph vor 9 Jahren 0
Möglicherweise müssen Sie auch mit gci -recurse -filter "._ *" | weitermachen del -whatif` zum Entfernen von HFS-Müll. Nick T vor 8 Jahren 1
0
JakeGould

Diese findSyntax, die Sie in Ihrem Beispiel verwenden, scheint mir für Mac OS X- oder Linux / Unix-Setups geeigneter zu sein als ein Windows-Setup. Verwenden Sie stattdessen den delBefehl wie folgt in Windows, wie hier erläutert :

del /s /q /f /a:h .DS_STORE 
Ich habe das auch probiert und erhalte den Fehler: `Remove-Item: Es kann kein Positionsparameter gefunden werden, der das Argument '/ q' aus dem Verzeichnis und in Windows PowerShell verwendet. tarabyte vor 9 Jahren 0