
Variações desta pergunta quase sempre descrevem um processo tedioso de "Obter informações" para marcar ou desmarcar "ocultar extensão" OU para usar uma abordagem de martelo usando Finder -> Preferências -> Avançado -> Mostrar todos os arquivos extensões. Encontrei uma maneira de lidar com lotes de arquivos de uma só vez, usando Terminal.app com uma única linha de comando.
Você precisa do utilitário Developer chamado "SetFile". Se você tiver isso em /Developer/Tools, crie um alias (ln -s) para ele em $PATH ou adicione o caminho para ele em $PATH. Agora, todo arquivo possui "atributos", que você pode ver com o utilitário complementar "GetFileInfo". Estas são letras, em MAIÚSCULAS ou minúsculas. “E” e “e” indicam “ocultar” ou “mostrar” a extensão. Você pode alternar facilmente entre eles com SetFile. Mas você também pode alimentar um conjunto de nomes de arquivos no SetFile e fazê-los TODOS com uma linha de comando. Aqui está um exemplo simples:
Eu tenho vários documentos .doc (MS Word), alguns mostrando a extensão, outros ocultando a extensão. Eu o que TODOS eles mostram a extensão. Suponha que eles estejam em alguma pasta. Navegue até a pasta e faça o seguinte:
ls -1 *.doc | tr " " "?" | xargs -L1 SetFile -a
O -1 fornece a cada nome de arquivo da sua pasta a extensão desejada. O comando "tr" traduz os espaços em branco nos nomes dos arquivos para "?", significando um único caractere de correspondência para que os nomes não contenham espaços em branco. Em seguida, "xargs -L1" alimenta cada nome para "SetFile -a e", que diz "mostrar" a extensão desse arquivo. Se já está sendo mostrado, continua assim.
SetFile pode não gostar de nomes com "?" neles, mas certamente não gosta de nomes com espaços em branco, a menos que o argumento do arquivo para SetFile esteja entre aspas. Infelizmente, "xargs" dividirá os nomes com espaços em branco em execuções separadas de SetFile, o que é ainda pior.
Por último, se você quiser “ocultar” todas as extensões, use “SetFile -a E”.