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.FinderInfoatributo 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 hiddencomando Você obviamente precisa aliasde 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 truecom falseaqui. 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.scpte execute-o na linha de comando com:
osascript filename.scpt targetfile
Com o SetFilecomando
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>