Est-il possible de se débarrasser du .DS_Store lors de la compression d'un dossier sur un mac?
Je travaille sur un Mac et envoie du travail aux clients au format Zip, mais je suis toujours interrogé sur le dossier .DS_Store qui se trouve à l'intérieur. Cela semble inévitable sauf si j'ouvre le dossier sous Windows, puis supprime le .DS_Store et le compresse là. C'est un gros problème.
Existe-t-il des solutions faciles?
Si cela ne vous dérange pas de sauter dans le terminal, c'est très facile. Si vous êtes dans /Users/username
, qui correspond à votre répertoire $ HOME et qu’il existe un sous-répertoire nommé foo que vous souhaitez compresser mais que vous ignorez tous les fichiers .DS_Store, procédez comme suit:
Zip -r foo.Zip foo -x "*.DS_Store"
Pour interpréter cela, nous exécutons l'exécutable Zip avec les paramètres/arguments suivants:
-r
pour inclure récursivement tous les répertoires sous les cibles que nous voulons compresser.foo.Zip
est le nom de l'archive Zip que nous créonsfoo
est le répertoire cible que nous voulons compresser-x "*.DS_Store"
exclut tous les fichiers dont le chemin se termine par la chaîne ".DS_Store"Aucune application tierce de qualité n'est nécessaire, pas plus que vous n'avez besoin de supprimer vos fichiers .DS_Store. Vous n'avez qu'à vous fier à la qualité des outils Unix intégrés à OSX/Darwin.
Vous pouvez créer une application automator qui accepte un dossier en tant qu'entrée et génère un fichier Zip du contenu du dossier sans forcer.
Stockez cette application dans/Utilisateurs/vous/Applications, puis faites-la glisser dans la barre d’outils du Finder. Ensuite, vous pouvez faire glisser des dossiers sur l'application à partir de n'importe quelle fenêtre du Finder.
Ajoutez l'étape ' obtenir les éléments sélectionnés du Finder '. Et ajoutez également une étape ' d'exécution du script shell ' avec l'option ' Pass input ' définie sur ' comme argument '.
Le scénario:
name=("$@")
cd "$name"
zipFileName=`basename "$name"`
Zip "${zipFileName}.Zip" -r ./* \
-x */.DS_Store \
-x */.git \
-x */.svn \
-x */.idea \
-X */__MACOSX
mv "${zipFileName}.Zip" ../
Accepte un dossier en entrée et génère un fichier zip avec le nom du dossier.
Si vous avez déjà créé l’archive Zip (ou si vous souhaitez supprimer simplement .DS_Store après la création du Zip), tous les fichiers .DS_Store seront supprimés, quel que soit le chemin dans l’archive Zip:
Zip -d archive.Zip "*/*.DS_Store"
La réponse de whaley est toujours la meilleure, car elle peut être aliasée et oubliée. Dans mon cas, j'ai créé le zip à partir de l'utilitaire d'archivage, puis j'ai réalisé que je devais les supprimer.
Je ne pense pas qu'il y ait moyen de le faire par défaut, mais je peux penser de deux manières pour atteindre ce que vous voulez.
Tout d'abord, j'ai trouvé une application gratuite appelée FolderWasher . Déposez le dossier sur l'application pour supprimer les fichiers .DS_Store et décompressez-le.
Alternativement (et potentiellement mieux qu'un logiciel tiers), vous pouvez utiliser Automator pour nettoyer l'archive après sa création. En réalité, une action a déjà été créée pour cela. Ce n’est qu’une étape supplémentaire et vous pouvez faire glisser l’action dans le Finder pour la retrouver facilement.
Si vous exécutez ceci dans Terminal, cela les empêche de se générer automatiquement lorsque vous créez des dossiers, vous pouvez le réactiver si vous le souhaitez.
defaults write com.Apple.desktopservices DSDontWriteNetworkStores true
Vous pouvez ensuite utiliser l'exemple @Penang (ci-dessus) pour vérifier si les fichiers ne sont plus créés. Je devais télécharger un fichier Zip et chaque dossier contenait ce fichier, ce qui m'aidait.
Ouvrez Terminal (/Applications/Utilies/Terminal.app) et exécutez la commande suivante pour afficher les fichiers cachés:
defaults write com.Apple.Finder AppleShowAllFiles TRUE && killall Finder
Pour masquer les fichiers cachés, lancez simplement:
defaults write com.Apple.Finder AppleShowAllFiles FALSE && killall Finder
Vous pouvez supprimer des fichiers .DS_Store comme n'importe quel autre fichier sans causer de dommages à votre répertoire. Comme indiqué sur wikipedia, "DS_Store (Desktop Services Store) est un fichier caché créé par le système d'exploitation Mac OS X d'Apple Inc. pour stocker les attributs personnalisés d'un dossier tels que la position des icônes ou le choix d'une image d'arrière-plan."
Utilisez CleanArchiver pour créer ces archives. De cette façon, vous n'avez pas besoin de jeter les préférences de votre dossier.
Il existe une explication de ce qu’ils sont et de la manière de les supprimer sur le site d’aide Adobe de tous les emplacements.
Il s’agit d’un fichier caché utilisé pour stocker la configuration d’un dossier (comme la position de l’icône, la couleur, l’arrière-plan du dossier et la position du défilement. Malheureusement, il semble qu’il n’existe aucun moyen de les empêcher de créer de manière permanente. Apple reconnaît toutefois qu’ils peuvent causer des problèmes. certains utilisateurs.