Mostrar / ocultar arquivos ocultos sem reiniciar o localizador?

13

Cheguei a entender que o seguinte é a maneira de alternar a visibilidade dos arquivos ocultos:

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

Existe uma maneira de mostrar / ocultar arquivos ocultos sem matar o Finder?

Vivek Ragunathan
fonte

Respostas:

6

Edit: Isso não parece mais funcionar desde El Capitan. killall Finderparece 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

Tetsujin
fonte
Você não precisa do tell application "System Events"bloco em torno dos dois do shell script ...comandos. De fato, estou surpreso que os Eventos do Sistema permitam que você solicite a chamada do shell script.
ganbustein
Não sou especialista nisso - Eu sempre usei apenas os eventos do sistema se eu não parecem ter 'ninguém em particular' para contar ;-)
Tetsujin
2
Ele "sempre funcionou" porque os Eventos do Sistema estão retornando um código de erro que significa "faça você mesmo", e o script está silenciosamente fazendo exatamente isso para lidar com o erro. O problema é que você invocaria do shell scriptcom os privilégios de outros aplicativos sem ter a chance de examinar o script. A Apple fez essa alteração para fechar uma brecha na segurança, na qual você pode solicitar que um programa em execução como root faça seu script para você.
precisa saber é
1
@ganbustein Eu colei sua versão em alguns outros lugares no SE. Usei isso em uma resposta. Obrigado pela contribuição. Mais apreciado.
Tetsujin 23/01
Isso é ótimo, exceto que ele não altera a área de trabalho. Também havia uma maneira de fazer isso, além de reiniciar o Finder?
TJ Luoma 02/02
10

No macOS Sierra, versão 10.12.4 e superior, você pode pressionar + Shift+ . (ponto final) para alternar os arquivos ocultos dentro do Finder.

Edição tardia: atualmente também funciona no Mojave, a partir de b5, em 18 de agosto de 2018.

Viktorstrate
fonte
@ fd0, declara "... para alternar arquivos ocultos dentro do Finder.", e a palavra-chave aqui é "alternar", o que normalmente implica pressionar a mesma combinação de teclas de atalho para ocultar / exibir arquivos ocultos neste caso de uso. 1
user3439894
Você conhece o equivalente em versões fora dos EUA?
ogerard
Não esqueça que você pode usar a mesma combinação de teclado nas caixas de diálogo Abrir / Salvar para mostrar temporariamente os arquivos ocultos.
Boris42
Ainda funciona em abr 2019!
SilverWolf - Reinstate Monica