Renomear múltiplos arquivos no R mantendo parte do nome original

# Renomear múltiplos arquivos no R mantendo parte do nome original
# Autor Mateus S. Figueiredo
# Última modificação: 2023-01-28

# ------------------------------------------------------------------------------
# Definir pasta de trabalho

setwd ("C:/Users/Mateus/Desktop/BH")
# getwd() #C onferir pasta de trabalho

# Pegar nomes originais das fotos

orig <- list.files(recursive = T, pattern = "JPG$", ignore.case = T)
# recursive = T faz pegar pastas e subpastas
# pattern = JPG$ faz pegar arquivos terminados em JPG
# ignore.case = T faz ignorar maiúsculas e minúsculas
orig # conferir vetor com nomes originais

# O vetor orig é formado pelo nome original dos arquivos das fotos.
# Caso haja subpastas, o nome da subpasta fará parte do nome do arquivo.

# ------------------------------------------------------------------------------

# Criar vetor novo, para o novo nome das fotos, fazendo substituições desejadas.
# Adaptar conforme sua necessidade

sub("/IMG_"," (",orig) -> novo       # remove IMG_ dos nomes, adiciona (
sub("JPG","jpg",novo) -> novo        # padroniza para minúsculas
sub("HDR.","HDR",novo) -> novo       # remove ponto desnecessário após HDR
sub(".jpg",").jpg",novo) -> novo     # adiciona ) ao final do nome
novo                                 # confere lista de nomes

# ------------------------------------------------------------------------------

# Renomear os arquivos

# ?file.rename
file.rename (orig, novo) # Substitui nome orig pelo nome novo

# ------------------------------------------------------------------------------

# Recomendações:

# Fazer backup dos arquivos antes de renomear.

# Preferir caminho curto de arquivo (ex. colocar pasta na Área de Trabalho
# é melhor do que colocar dentro de inúmeras pastas)

# Separar fotos em pastas antes de rodar o código, de acordo com o tema da foto.
# Assim, o nome novo de cada foto terá o nome da pasta.

# ------------------------------------------------------------------------------
# Fim do código

 

 

Justificativa:

 Eu tiro muitas fotos, e gosto de enviar elas para a Wikimedia Commons. Só que para isso, eu preciso colocar nomes adequados nos arquivos. Eu não posso enviar um monte de arquivos "IMG_6437.JPG" "IMG_6442.JPG" "IMG_6470.JPG" "IMG_6471.JPG" "IMG_6477.JPG", então preciso renomear eles.

Eu gosto de manter o número original das fotos para ficar mais fácil quando eu precisar achar o arquivo original. Meu objetivo, então é transformar esses arquivos em algo como "Planta no parque (6437).JPG", por exemplo. Se são poucos arquivos, é fácil fazer isso manualmente, mas fazer isso em dezenas de fotos seria exaustivo. Felizmente, é fácil fazer isso no R.

Meu objetivo, então, é transformar os arquivos de

IMG_6437.JPG
IMG_6442.JPG

IMG_6470.JPG 

IMG_6471.JPG

IMG_6477.JPG

para 
 
Passeio em Jasper (6437).JPG
Passeio em Jasper (6442).JPG
Passeio em Jasper (6470).JPG
Passeio em Jasper (6471).JPG
Passeio em Jasper (6477).JPG
 
por exemplo.

Meu objetivo, então, é substituir o trecho "IMG_" por "Passeio em Jasper 2019 (" e ".JPG" por ").JPG" em todos os arquivos da pasta "Jasper".

Também posso organizar os arquivos em pastas diferentes antes de renomear. Assim, eu teria os caminhos de arquivos

Corpo de Bombeiros/IMG_2181.JPG
Corpo de Bombeiros/IMG_2182.JPG
Corpo de Bombeiros/IMG_2183.JPG
Escola Estadual BRB/IMG_2184.JPG
Escola Estadual BRB/IMG_2185.JPG

com "Nome da pasta" / "Nome do arquivo". E gostaria de transformar em  

Corpo de Bombeiros (2181).JPG
Corpo de Bombeiros (2182).JPG
Corpo de Bombeiros (2183).JPG
Escola Estadual BRB (2184).JPG
Escola Estadual BRB (2185).JPG

 O código acima permite fazer essas transformações rapidamente.

Nenhum comentário:

Postar um comentário

As cotas e a ampla concorrência na UFV

Em agosto de 2012 foi sancionada a Lei 12.711, conhecida popularmente como Lei das Cotas. A partir de então, todas as universidades federai...