A única maneira real de alterar isso via GUI é clicar em Ocultar extensão na janela do Finder Info . Verificar isso altera o atributo com.apple.FinderInfo
extended, que você normalmente não pode editar, pelo menos não facilmente. Podemos, no entanto, usar uma ferramenta para fazer isso por nós.
Para que o abaixo funcione, você obviamente precisa ter Mostrar todas as extensões de arquivo desmarcadas nas preferências do Finder.
Através do AppleScript
O AppleScript oferece essa funcionalidade com o comando set extension hidden
. Você obviamente precisa de um alias
para um objeto de arquivo. Podemos conseguir isso, por exemplo, através de um diálogo. Aqui está apenas um exemplo mínimo de trabalho.
tell application "Finder"
set some_file to (choose file)
set extension hidden of some_file to true
end tell
Para reverter, apenas troque true
por false
aqui. A chamada completa é então, por exemplo:
set extension hidden of alias "Macintosh HD:Users:werner:Desktop:file.png" to true
Você pode executar isso diretamente de um arquivo de script também (obrigado @DanielBeck pela adição):
on run argv
tell application "Finder" to set extension hidden of (POSIX file (first item of argv) as alias) to true
end run
Salve isso como filename.scpt
e execute-o a partir da linha de comando com:
osascript filename.scpt targetfile
Com o comando SetFile
Note: This is deprecated since Xcode 6.
Se você tiver o Xcode instalado, receberá o binário SetFile(1)
, que faz exatamente o que você quer (e oferece mais algumas funções relacionadas aos atributos do arquivo):
Ocultar extensão:
SetFile -a E <file>
Mostrar extensão novamente:
SetFile -a e <file>