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

13

J'en suis venu à comprendre que ce qui suit est le moyen de basculer 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?

Vivek Ragunathan
la source

Réponses:

6

Edit: Cela ne semble plus fonctionner depuis El Capitan. killall Findersemble être le seul moyen maintenant.

Ceci est ma méthode El Capitan actuelle, qui devrait également fonctionner pour Mountain Lion et plus

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 & Yosemite…

Vous n'avez pas besoin de redémarrer le Finder, actualisez uniquement les fenêtres.

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

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

Tetsujin
la source
Vous n'avez pas besoin du tell application "System Events"bloc autour des deux do shell script ...commandes. En fait, je suis surpris que System Events vous permette de lui dire d'invoquer do shell script.
ganbustein
Je ne suis pas un expert en la matière - j'ai toujours utilisé les événements système si je ne semble pas avoir «quelqu'un en particulier» à dire ;-)
Tetsujin
2
Cela "a toujours fonctionné" car les événements système renvoient un code d'erreur qui signifie "faites-le vous-même", et le script le fait silencieusement pour gérer l'erreur. Le problème est que vous invoqueriez do shell scriptavec les privilèges d'une autre application sans lui donner la possibilité de vérifier le script. Apple a fait ce changement pour fermer une faille de sécurité où vous pourriez demander à un programme fonctionnant en tant que root de faire votre script pour vous.
ganbustein
1
@ganbustein J'ai collé votre version dans quelques autres endroits sur SE Je l'ai utilisé dans une réponse. Merci pour la contribution. Le plus apprécié.
Tetsujin
C'est génial, sauf qu'il ne modifie pas le bureau lui-même. Y avait-il un moyen de le faire aussi, à part redémarrer le Finder?
TJ Luoma
10

Sur macOS Sierra, version 10.12.4 et supérieure, vous pouvez appuyer sur + Shift+ . (point) pour basculer les fichiers cachés à l'intérieur du Finder.

Edition tardive: Cela fonctionne également sur Mojave, à partir du b5, 18 août 2018.

viktorstrate
la source
@ fd0, il indique, "... pour basculer les fichiers cachés à l'intérieur du Finder.", et le mot clé ici est "basculer", ce qui implique généralement d'appuyer sur la même combinaison de touches de raccourci pour masquer / afficher les fichiers cachés dans ce cas d'utilisation. +1
user3439894
Connaissez-vous l'équivalent sur les versions non américaines?
ogerard
N'oubliez pas que vous pouvez utiliser la même combinaison de touches dans les boîtes de dialogue Ouvrir / Enregistrer pour afficher temporairement les fichiers cachés.
boris42
Fonctionne toujours en avril 2019!
SilverWolf