2 votes

Afficher tous les fichiers cachés, mais en cacher certains

J'essaie d'afficher tous les fichiers et d'en cacher certains. Je connais la commande :

defaults write com.apple.Finder AppleShowAllFiles -bool YES

Mais cela montre même les fichiers que j'ai cachés avec chflags hidden . Je veux cacher ces fichiers. Est-il possible de changer son nom en fichier ._, ou est-ce dangereux ? Je ne veux pas chflags nohidden manuellement un par un. Existe-t-il un moyen de le faire ?


Mac OS X 10.9.5 (Mavericks)

5voto

David Anderson Points 30783

Le site .filename était destiné par unix à représenter les noms de fichiers invisibles. Avant même qu'il n'y ait des interfaces graphiques, la fonction ls par défaut ne listera pas ces fichiers pour les utilisateurs normaux. Il n'y a aucune raison pour que vous ne puissiez pas ajouter un . à vos propres noms de fichiers.

D'autre part, en utilisant ._filename semble être unique à OS X. L'une des utilisations de ces noms de fichiers est le stockage d'informations supplémentaires concernant les fichiers portant le même nom, sans l'attribut ._ préfixe. OS X dispose même d'une commande spéciale dot_clean pour supprimer ou fusionner ces types de fichiers.

Dans mon option, je ne prendrais pas le risque d'utiliser délibérément la ._ dans mes noms de fichiers. Vous pouvez obtenir des résultats acceptables maintenant, mais les futures versions d'OS X pourraient interpréter ces noms différemment.

Par exemple, disons que vous créez un fichier appelé ._dave . Plus tard, OS X pourrait finir par créer un fichier appelé ._._dave ?

Juste pour info : Il est possible de créer un service qui vous permettrait de définir le drapeau de fichier caché pour les fichiers mis en évidence en utilisant l'application Finder. Les instructions sont données ci-dessous.

  1. Ouvrez l'application Automator.

  2. Dans la barre de menu, choisissez "Fichier", puis "Nouveau".

  3. Sélectionnez "Service" et cliquez sur "Choisir".

  4. Faites glisser l'action "Exécuter AppleScript" à l'endroit où il est indiqué "Faire glisser des actions ou fichiers ici pour construire votre flux de travail".

  5. Régler "Service reçoit sélectionné text sur any application " à " Le service reçoit le choix files or folders sur Finder ".

  6. Remplacer le code

    on run {input, parameters}
    
        (* Your script goes here *)
    
        return input
    end run

    avec

    on run {input, parameters}
        try
            repeat with currentfile in input
                try
                    do shell script "chflags hidden " & quoted form of POSIX path of currentfile
                end try
            end repeat
        end try
        return input
    end run
  7. Enregistrez le service en tant que "Set Hidden Flag".

  8. Fermez toutes les fenêtres Automator et quittez l'application Automator.

Le service aurait dû être sauvegardé dans le ~/Library/Services sous le nom de Set Hidden Flag.workflow . Sinon, déplacez-le là.

Maintenant, lorsque vous mettez en surbrillance un ou plusieurs fichiers à l'aide de l'application Finder, vous pouvez faire un clic droit et sélectionner "Set Hidden Flag" pour les masquer dans l'application Finder.

Un service similaire appelé "Reset Hidden Flag" peut être créé en suivant les mêmes étapes, avec les deux exceptions suivantes. À l'étape 6, modifiez

do shell script "chflags hidden " & quoted form of POSIX path of current file

à

do shell script "chflags nohidden " & quoted form of POSIX path of current file

A l'étape 7, changez pour enregistrer comme "Reset Hidden Files".

Bien entendu, vous ne pouvez mettre en évidence les fichiers cachés que si l'application Finder les affiche. Pour ce faire, voir ma réponse à Raccourci clavier pour afficher les fichiers et dossiers cachés dans la boîte de dialogue d'ouverture de fichier ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X