14 votos

¿Mostrar/Ocultar archivos ocultos sin reiniciar el finder?

Llegué a entender que la siguiente es la forma de alternar la visibilidad de los archivos ocultos:

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

¿Hay alguna manera de mostrar/ocultar los archivos ocultos sin matar el Finder?

16voto

gd1 Puntos 401

En MacOS Sierra, versión 10.12.4 y superior, puede pulsar + Shift + . (punto) , para activar los archivos ocultos dentro del Finder.

Edición tardía: Actualmente esto también funciona en Mojave, a partir de b5, 18 de agosto de 2018.

6voto

Tetsujin Puntos 23061

Editar: Esto ya no parece funcionar desde El Capitán. killall Finder parece ser la única manera ahora.

Este es mi método actual para El Capitán, que también debería funcionar para Mountain Lion y versiones anteriores

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 y Yosemite

No es necesario reiniciar el Finder, sólo refrescar el Windows.

Este Applescript cambiará el estado y refrescará...

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édito a ganbustein para la rutina mejorada de ocultar/mostrar

0 votos

No necesitas el tell application "System Events" bloque alrededor de los dos do shell script ... comandos. De hecho, me sorprende que System Events permita decirle que invoque do shell script .

0 votos

No soy un experto en ello, siempre he utilizado los eventos del sistema si no parece que tenga que decírselo a "alguien en particular";-)

2 votos

"Siempre ha funcionado" porque System Events devuelve un código de error que significa "hazlo tú mismo", y el script está haciendo silenciosamente justo eso para manejar el error. El problema es que usted estaría invocando do shell script con los privilegios de alguna otra aplicación sin darle la oportunidad de investigar el script. Apple hizo ese cambio para cerrar un agujero de seguridad en el que se podía pedir a un programa que se ejecutaba como Root que hiciera su script por usted.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X