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?
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
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.
@ 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.
tell application "System Events"
bloc autour des deuxdo shell script ...
commandes. En fait, je suis surpris que System Events vous permette de lui dire d'invoquerdo shell script
.do shell script
avec 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.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.
la source