60

Есть ли в любом случае, чтобы избавиться от.DS_Store при сжатии папки на mac?

Я работаю на Mac и отправляю работу клиентам в формате zip, но меня всегда спрашивают.Папка DS_Store внутри них. Это кажется неизбежным, если я не открою папку в Windows и не удалю.DS_Store и сожмите его там. Это довольно большая проблема.

Есть ли легкие обходные пути?

8 ответов8

103

Если вы не против прыгнуть в терминал, то это чертовски просто. Если вы находитесь в /Users/username , который является вашим каталогом $ HOME и есть подкаталог с именем foo, который вы хотите заархивировать, но игнорируйте все.DS_Store, затем выполните следующие действия:

zip -r foo.zip foo -x "*.DS_Store"

Чтобы интерпретировать это, мы запускаем исполняемый файл zip со следующими параметрами / аргументами:

  • -r для рекурсивного включения всех каталогов под цели, которые мы хотим заархивировать.
  • foo.zip - имя создаваемого нами zip-архива.
  • foo - целевой каталог, который мы хотим заархивировать
  • -x "*.DS_Store" исключает все файлы, путь которых заканчивается строкой".DS_Store»

Никакие глупые сторонние приложения не нужны, и вам не нужно убирать свои.Файлы DS_Store вообще - просто положитесь на все возможности Unix Tool, встроенные прямо в OSX / Darwin.

5

Вы можете создать приложение автоматизатора, которое принимает папку в качестве входных данных и создает zip-файл содержимого папки без лишних усилий.

Сохраните это приложение в /Users /you /Applications и перетащите его на панель инструментов поиска. Затем вы можете перетащить папки в приложение из любого окна поиска.

Создать приложение для автоматизации

Добавьте шаг « Получить выбранные элементы поиска ». А также добавьте шаг ' run shell script ' с опцией ' Pass input ', установленной на 'в качестве аргументов '.

Добавить шаги рабочего процесса

Сценарий:

name=("$@")
cd "$name"
zipFileName=`basename "$name"`
zip "${zipFileName}.zip" -r ./* \
    -x */.DS_Store \
    -x */.git \
    -x */.svn \
    -x */.idea \
    -X */__MACOSX
mv "${zipFileName}.zip" ../

Принимает папку в качестве входных данных и создает zip-файл с именем папки.

3

Если вы уже создали ZIP-архив (или хотите простой способ удаления.DS_Store после создания zip), это удалит все.Файлы DS_Store по любому пути в zip-архиве:

zip -d archive.zip "*/*.DS_Store"

Ответ китая все еще определенно лучший, потому что его можно назвать псевдонимом и забыть о нем. В моем случае я создал почтовый индекс из утилиты архивирования, а затем понял, что я должен удалить их.

3

Я не думаю, что есть способ сделать это по умолчанию, но я могу придумать два способа добиться того, чего вы хотите.

Во-первых, я нашел бесплатное приложение под названием FolderWasher. Удалите папку в приложении, и она удалит.DS_Store файлы и заархивировать его для вас.

В качестве альтернативы (и, возможно, лучше, чем программное обеспечение сторонних производителей), вы можете использовать Automator для очистки архива после создания. На самом деле уже есть действие, созданное для этого. Это всего лишь один дополнительный шаг, и вы можете перетащить действие в Finder, чтобы его было легко найти.

2

Если вы запустите это в Терминале, это остановит их автоматически генерируемые при создании папок, вы можете включить его снова, если захотите.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

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

2

Откройте терминал (/Applications/Utilies/Terminal.app) и выполните следующую команду, чтобы показать скрытые файлы:

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

Чтобы скрыть скрытые файлы, просто запустите:

defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder

Вы можете удалить.Файлы DS_Store, как и любые другие файлы, не наносят вреда вашему каталогу. Как указано в википедии, «DS_Store (Desktop Services Store) - это скрытый файл, созданный операционной системой Mac OS X от Apple Inc. для хранения пользовательских атрибутов папки, таких как расположение значков или выбор фонового изображения».

2

Используйте CleanArchiver для создания этих архивов. Таким образом, вам не нужно стирать настройки папки.

0

Существует объяснение того, что они из себя представляют, и как их удалить на справочном сайте Adobe во всех местах.

Это скрытый файл, используемый для хранения конфигурации папки (например, положение значка, цвет, фон папки и положение прокрутки). К сожалению, кажется, нет никакого способа остановить их постоянное создание, хотя Apple признает, что они могут вызвать проблемы у некоторых пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .