14 votes

Afficher/masquer les fichiers cachés sans redémarrer le Finder ?

J'ai compris que la méthode suivante permet d'activer la visibilité des fichiers cachés :

defaults write com.apple.finder AppleShowAllFiles YES
# replace YES with NO to hide hidden files
killall -HUP Finder /System/Library/CoreServices/Finder.app

Existe-t-il un moyen d'afficher/masquer les fichiers cachés sans tuer le Finder ?

16voto

viktorstrate Points 131

Sur MacOS Sierra, version 10.12.4 et supérieure, vous pouvez appuyer sur + Shift + . (période) pour activer les fichiers cachés dans le Finder.

Modification tardive : cela fonctionne actuellement sur Mojave aussi, à partir de b5, 18 août 2018.

0 votes

@fd0, Il est dit, "... pour basculer les fichiers cachés dans le Finder.", et le mot clé ici est "basculer", ce qui implique typiquement d'appuyer sur la même combinaison de touches de raccourci pour masquer/démasquer les fichiers cachés dans ce cas d'utilisation. +1

1 votes

Connaissez-vous l'équivalent sur les versions non américaines ?

0 votes

N'oubliez pas que vous pouvez utiliser cette même combinaison de touches dans les boîtes de dialogue Ouvrir/Enregistrer pour afficher temporairement les fichiers cachés.

6voto

Tetsujin Points 95239

Edit : Cela ne semble plus fonctionner depuis El Capitan. killall Finder semble être la seule solution maintenant.

Voici ma méthode actuelle pour El Capitan, qui devrait également fonctionner pour Mountain Lion et les versions antérieures.

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState & "; killall Finder"

Pour Mavericks et Yosemite

Vous n'avez pas besoin de redémarrer le Finder, mais seulement de rafraîchir la fenêtre.

Cet Applescript va basculer l'état et rafraîchir...

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState

tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Crédit à ganbustein pour la routine améliorée de masquage/affichage

0 votes

Vous n'avez pas besoin de la tell application "System Events" autour des deux do shell script ... des commandes. En fait, je suis surpris que System Events vous permette de lui dire d'appeler do shell script .

0 votes

Je ne suis pas un expert en la matière - j'ai toujours utilisé les événements du système si je n'ai pas l'air d'avoir "quelqu'un en particulier" à raconter;-)

2 votes

Cela a "toujours fonctionné" parce que System Events renvoie un code d'erreur qui signifie "faites-le vous-même", et le script fait silencieusement ce qu'il faut pour gérer l'erreur. Le problème est que vous invoqueriez do shell script avec les privilèges d'une autre application sans lui donner la chance de vérifier le script. Apple a effectué ce changement pour combler une faille de sécurité qui vous permettait de demander à un programme s'exécutant en tant que Root de faire votre script pour vous.

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