Как рекурсивно удалить все файлы .DS_STORE из каталога на компьютере с Windows?

1351
tarabyte

Я извлек .zipфайл, сжатый на Mac, и обнаружил, что в сжатие были включены все .DS_STOREфайлы мета-каталогов (я думаю, раньше он использовался для ускоренного поиска, но помимо этого?).

Можно ли выполнить однострочную обработку из Windows PowerShell или простого сценария Python, чтобы очистить эту папку путем рекурсивного удаления этих файлов?

Я получаю ошибку: FIND: Parameter format not correctпри использовании:

find . -name '*.DS_Store' -type f -delete 
0
Самый простой способ - просто найти файлы в проводнике Windows (ctrl-f), выделить их, а затем удалить их. dangph 9 лет назад 0

2 ответа на вопрос

2
dangph

In PowerShell do this:

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

When you specify -WhatIf, then PowerShell won't make any changes. It will instead tell you what it would have done. When you are happy with what it will do, then you can remove the -WhatIf. (It always pays to be careful when doing a recursive delete. You don't want to delete the wrong things.)

Удаляет только первый .DS_STORE, но не остальные в подкаталоге. tarabyte 9 лет назад 0
@tarabyte, извините, ответ обновлен. dangph 9 лет назад 0
Возможно, вам также понадобится выполнить команду `gci -recurse -filter" ._ * "| del -whatif` для удаления мусора HFS. Nick T 8 лет назад 1
0
JakeGould

That find syntax you are using in your example seems to me to be more appropriate for Mac OS X or Linux/Unix setups than a Windows setup. Instead, perhaps use the del command like this in Windows as explained here:

del /s /q /f /a:h .DS_STORE 
Я тоже попробовал это и получил ошибку: `Remove-Item: не найден позиционный параметр, который принимает аргумент '/ q' из интересующего каталога и использующего Windows PowerShell. tarabyte 9 лет назад 0