Una alternativa al script de grgarside, esto no necesita que reinicies el Finder, solo actualiza las ventanas abiertas.
Se puede guardar como una aplicación o en Automator, como un servicio.
Lo tengo como un Servicio, activado en Cmd ⌘ H de Pref. Del sistema > Teclado > Accesos directos > Servicios, que me obligaron a cambiar el comando clave "Ocultar buscador" en ... Accesos directos > Los accesos directos de aplicaciones a algo distinto de los predeterminados.
Para agregar como Servicio, inicie Automator y luego el menú Archivo > Nuevo.
Seleccione Servicio en el cuadro de diálogo y luego arrastre Ejecutar AppleScript a la nueva ventana de Automator.
Copie / pegue el script dentro de on run
- reemplazando (* Su script va aquí *) & Salvar. Solo necesita los parámetros predeterminados para todo lo demás.
EnPreferenciasdelsistema>Teclado>Accesosdirectos>Serviciosqueseañadiráncomoúltimalínea.Establecercualquiercomandodelatecladedisparoquetegusta.
Si usas Cmd ⌘ H de la misma manera que yo, deberás cambiar Hide Finder a otra cosa. Solo usé un atajo de basura como nunca lo necesito ese comando ...
setnewHiddenVisiblesStateto"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
El propio script lee el estado actual de la bandera invisible (menos elegante que la versión de grgarside pero igual de eficazmente) y luego cambia cada ventana abierta a otro tipo de vista: lista, icono, etc. y luego otra vez.
Editar: Actualizar las ventanas ya no funciona en El Capitán, ahora debes reiniciar el Finder.
Nueva versión para El Capitán
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"