Edit: Isso não parece mais funcionar desde El Capitan. killall Finder
parece ser o único caminho agora.
Este é o meu método atual do El Capitan, que também deve funcionar para Mountain Lion e mais velhos
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"
Para Mavericks e Yosemite…
Você não precisa reiniciar o Finder, apenas atualize as janelas.
Este Applescript alternará o estado e atualizará ...
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
Agradecemos à ganbustein pela melhoria na rotina de esconder / mostrar
tell application "System Events"
bloco em torno dos doisdo shell script ...
comandos. De fato, estou surpreso que os Eventos do Sistema permitam que você solicite a chamadado shell script
.