Como posso renomear várias fotos simultaneamente?

13

Por exemplo, tenho 20 fotos baixadas da Internet. Eles têm alguns nomes malucos como "XFGHDHR345" ou "SDEREWQ230" e quero nomeá-los:

"Foto 1"
"Foto 2"
"Foto 3"
"Foto 4"
"Foto 5"
.....
"Foto 20"

Não quero digitá-los um por um. Eu quero mudar seus nomes de uma vez.

Existe uma maneira de fazer isso?

Ave Maleficum
fonte
Para quem tem o Photoshop, ele faz um ótimo trabalho ao fazer exatamente isso.
bassplayer7

Respostas:

16

Usando a ferramenta interna "Automator", você pode definir um fluxo de trabalho para renomear arquivos em lote.

Para fazer isso, você terá que:

  1. O Open Automator encontra-o usando o Spotlight ou em / Aplicativos
  2. Crie um novo fluxo de trabalho
  3. Digite entrar no campo de pesquisa insira a descrição da imagem aqui

  4. Vá até a parte inferior da lista de itens e arraste -se especificado item do Files & Folders lista de ações no painel esquerdo e solte-o no painel direito

  5. Clique no botão Adicionar e encontre seus arquivos
  6. Adicione a ação Classificar itens do localizador seguida de Renomear itens do localizador
  7. No painel "Renomear itens do Finder" , selecione "Tornar seqüencial" e "Adicionar número à" imagem.
  8. Aperte o botão play e você deve terminar

Veja aqui ou aqui exemplos de tutoriais sobre sua tarefa de renomeação específica em mãos. Uma excelente visão geral do que o Automator faz e o quão poderoso (e simples) ele pode ser como assistente pessoal - consulte a página da web http://macosxautomation.com/automator/index.html

Franquis
fonte
Bom exemplo do Automator - é claramente indicado para este caso para limpar arquivos de fotos. Vou acrescentar no avô de recursos do Automator, do Sal Saghoian macosxautomation.com/automator/index.html
bmike
13

Sim, você pode usar o Terminal:

  1. Mova todas as suas fotos para uma pasta temporária na área de trabalho, por exemplo Temp.

  2. Abra Aplicativos> Utilitários> Terminal.app.

  3. Mude o diretório para Temp:

    cd ~/Desktop/Temp
    

    onde ~é expandido para o diretório inicial (ou seja /Users/<yourusername>,.)

  4. Execute este comando shell composto:

    n=1; for file in *; do mv "$file" "Picture $n"; let n++; done
    

    Onde:

    • for ...; do ...; doneloops sobre seus 20 arquivos. fileé a variável que contém nomes de arquivos. Veja este artigo para mais informações.

    • n, inicialmente definido como 1 e aumentado em um em cada iteração com let n++, é o sufixo inteiro dos arquivos renomeados.

    • mv "$file" "Picture $n"renomeia os arquivos. $né o valor da variável n.

    O comando shell é equivalente a:

    mv SDEREWQ230 "Picture 1"
    mv XFGHDHR345 "Picture 2"
    mv YWUU7738DT "Picture 3"
    (...)
    

Para mais informações sobre o shell bash, consulte man bash . Para obter mais informações sobre scripts de shell, consulte este guia no site do desenvolvedor da Apple.

jaume
fonte
1
Esta é uma explicação muito melhor do uso do shell para lidar com edições de arquivos do que as que temos por lá . É verdade que esse exemplo é uma edição simples - todos os arquivos com o padrão ABC precisam ser renomeados para 123, portanto, isso deve ser um pouco mais complexo. +2 se eu tivesse dois votos.
bmike
@ Jadav Eu não acho que você esteja contando as teclas corretamente aqui. Mesmo se você digitar o Finder e pressionar Enter em cada um deles, em vez de clicar, ainda será mais eficiente executar o script, mesmo que você esteja fazendo apenas 20 fotos.
zigg
Comparado com a solução Automator! Porém, mais recente que menos, é uma programação impressionante do seu lado.
Jadav
4

Se você deseja zerar os números ou se os arquivos têm extensões diferentes:

i=1; for f in *; do mv "$f" Picture\ $(printf %03d $i).${f#*.}; let i++; done

Mais exemplos:

# lowercase (Bash 4) and replace spaces with underscores
for f in *; do f2=${f,,}; mv "$f" "${f2// /_}"; done

# number based on modification date
IFS=$'\n'; i=1; for f in $(ls -rt *.jpg); do mv "$f" $(printf %04d $i).jpg; let i++; done

# file-5.jpg to file-005.jpg
for f in *; do b=${f%.*}; x=${f#*.}; mv "$f" "${b%-*}-$(printf %03d ${b#*-}).$x"; done
Lri
fonte
HOLA @Lauri Ranta, era inglês :) ou o computador está se transformando em fumaça depois de fazer isso?
Jadav
4

Se você possui o Yosemite, ele é incorporado ao Finder. Basta selecionar os arquivos, clicar com o botão direito e escolher "Renomear n arquivos". Em seguida, mude o menu suspenso para "Filtro" e pronto! Você tem opções de renomeação em lote!

Jeremias Erbs
fonte
Uau! Ainda não tinha notado isso. Também inclui opções para adicionar texto e algumas ações de formatação mais sofisticadas. A operação é desfeita pelo Finder.
Wayfaring Stranger
Uau! Obrigado por isso. Não acredito que foram necessários apenas 1,5 segundos para renomear cerca de 50 imagens. Então, @badabamn, essa solução foi ainda mais rápida !!! Obrigado a todos!
JJ Spelman
3

Se você não quiser usar o Terminal ou o Automator, existem aplicativos comerciais com uma GUI para fazer isso. Um deles é A Better Finder Rename , que possui uma versão de avaliação gratuita.


fonte
+1 para ABFR - embora custe US $ 20, ele lida facilmente com essa tarefa específica, onde os nomes de arquivos iniciais são aleatórios e muitas outras tarefas de renomeação de lotes mais complexas.
Calum_b 29/03
Eu sempre gosto de apontar a opção de usar aplicativos de utilidade comercial com uma boa interface gráfica, porque muitos usuários casuais acham que usar o Terminal ou o Automator é muito difícil para algumas tarefas. O ABFR é um exemplo de produto refinado que é muito flexível e funciona bem. Para muitos usuários, gastar US $ 20 é uma opção melhor do que aprender as complexidades dos comandos de texto raramente usados. Você pode decidir qual você prefere usar.
3

Vou recomendar aqui a aplicação NameChanger . É muito simples e rápido de usar. Opções muito boas dadas para renomear arquivos com critérios diferentes.

iNeal
fonte