A única maneira real de mudar isso via GUI é clicar em Ocultar extensão na janela Informações do Finder . Marcar essa opção altera o com.apple.FinderInfo
atributo estendido, que você normalmente não pode editar - pelo menos não facilmente. No entanto, podemos usar uma ferramenta para fazer isso por nós.
Para que o procedimento abaixo funcione, você obviamente precisa ter a opção Mostrar todas as extensões de arquivo desmarcada nas preferências do Finder.
Através do AppleScript
AppleScript oferece essa funcionalidade com o set extension hidden
comando Você obviamente precisa alias
de um objeto de arquivo. Podemos entender isso, por exemplo, através de um diálogo. Aqui está apenas um exemplo de trabalho mínimo.
tell application "Finder"
set some_file to (choose file)
set extension hidden of some_file to true
end tell
Para reverter, basta trocar true
com false
aqui. A chamada completa é então, por exemplo:
set extension hidden of alias "Macintosh HD:Users:werner:Desktop:file.png" to true
Você também pode executar isso diretamente de um arquivo de script (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 na linha de comando com:
osascript filename.scpt targetfile
Com o SetFile
comando
Nota: Isso está obsoleto desde o Xcode 6.
Se você tiver o Xcode instalado, receberá o SetFile(1)
binário, que faz exatamente o que deseja (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>