2009-09-18 10 views
1

mon application va en fait dans différents dossiers et prend chaque fichier en compte et lit chaque fichier et fait beaucoup de traitement sur eux et marque le dossier qu'il a traité comme terminé. mais cela ne se produit pas car le système génère immédiatement des fichiers tels que .DS_store et .localized et .trash. Y a-t-il un mécanisme permettant d'ignorer le traitement des fichiers cachés ou d'empêcher l'OS de générer ces fichiers par programmation?cacao + skip os fichiers générés

Merci

Répondre

0

Je ne suis pas au courant d'une option qui désactive la génération de fichiers .DS_Store localement. Il existe une option pour la télécommande, here.

Une autre façon de le faire pourrait être de créer un utilisateur Unix pour ce travail et de lui laisser les répertoires, afin que le Finder ne puisse jamais y aller. Commencez le travail manuellement en utilisant sudo, ou faites-en un travail setuid ou utilisez launchd.

+0

Merci pour la réponse. est-il possible d'identifier si un fichier est un fichier caché généré par os? ou pouvez-vous répertorier les fichiers qui sont générés pour les dossiers. Je connais trois d'entre eux 1. .DS_Store 2. .localized 3. .trash Y at-il d'autres fichiers cachés qui sont des fichiers générés par le système d'exploitation pour MAC. Merci – King

+0

Il existe également un fichier .CFUserTextEncoding dans le répertoire homedir. Si vous regardez dans le répertoire racine d'un volume, il y a d'autres fichiers cachés: 1. .fseventsd 2. .HFS + Données du répertoire privé 3. .Spotlight-V100 4. TemporaryItems 5. \\\\ HFS + données privées 6. .com .apple.timemachine.supported 7. .journal 8. .journal_info_block. Peut-être que vous pouvez avoir un fichier texte pour votre programme avec des noms de fichiers à ignorer, de sorte que vous pouvez toujours traiter les fichiers de points et ignorer les fichiers système Apple. – neoneye

+0

L'indicateur masqué est également défini uniquement sur certains fichiers. – neoneye

2

Impossible de modifier votre application pour ignorer les fichiers commençant par "."? Vous avez étiqueté ce Cocoa, donc en utilisant quelque chose comme contentsOfDirectoryAtURL de NSFileManager: includingPropertiesForKeys: options: erreur: semble approprié. NSDirectoryEnumerationSkipsHiddenFiles est l'une des options que vous pouvez spécifier. Elle ignore les fichiers cachés. Vérifiez le documentation pour plus de détails.

+0

Merci Mark. Mais si je saute des fichiers que je commence par '.' alors tous les fichiers cachés seront ignorés même les fichiers qui ne sont pas générés par os. existe-t-il une méthode pour identifier si un fichier est généré ou non? – King

+0

Je suppose que cela dépend de ce que vous voulez dire par "os généré". Beaucoup de fichiers de points sont générés par différentes parties du système d'exploitation. Le Finder en fait, la recherche Spotlight en fait d'autres, Time Machine en fait, etc, etc, donc il n'y aura pas de liste complète où que ce soit. De nombreux logiciels tiers font également des fichiers cachés. Je pense que vous allez devoir faire une liste de "fichiers à ignorer" dans votre application. Assurez-vous qu'il est modifiable par l'utilisateur, aussi - certains éditeurs utilisent des fichiers point pour les sauvegardes, puis il y a des répertoires .svn ... –

+0

Et pour ce que ça vaut, la plupart des outils de ligne de commande ignorent les fichiers cachés sauf s'ils sont spécifiquement dit de les traiter. Êtes-vous sûr qu'il y aura des fichiers cachés que vous voulez traiter? –

Questions connexes