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?
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
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.
@ 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.
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
.do shell script
com 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ê.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.
fonte