Renomear arquivos com datas no formato correto é uma tarefa repetitiva e propensa a erros manuais. Um script automatizado elimina esses problemas, padronizando os nomes e economizando tempo, especialmente quando se lida com grandes volumes de arquivos.
Este script utiliza a biblioteca os para acessar o sistema de arquivos e a biblioteca datetime para formatar datas. Ele renomeia todos os arquivos em um diretório especificado, substituindo datas no formato "YYYY-MM-DD" por "DD-MM-YYYY".
import os
from datetime import datetime
def rename_files_with_dates(directory):
for filename in os.listdir(directory):
# Verificar se o arquivo contém uma data no formato YYYY-MM-DD
if '-' in filename:
try:
# Extrair a parte da data
date_part = filename.split('.')[0] # assumindo que a data está antes do ponto
date_obj = datetime.strptime(date_part, '%Y-%m-%d')
new_date_part = date_obj.strftime('%d-%m-%Y')
new_filename = filename.replace(date_part, new_date_part)
os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
print(f"Renomeado: {filename} -> {new_filename}")
except ValueError:
# Se a data não estiver no formato esperado, pular o arquivo
continue
# Exemplo de uso
directory_path = '/caminho/para/seu/diretorio'
rename_files_with_dates(directory_path)
Para usuários de sistemas Unix/Linux, um script Bash pode ser uma alternativa rápida e eficiente. Este script usa o comando rename para substituir datas no formato "YYYY-MM-DD" por "DD-MM-YYYY".
#!/bin/bash
# Diretório onde os arquivos estão localizados
directory="/caminho/para/seu/diretorio"
# Loop para renomear arquivos
for file in "$directory"/*; do
if [[ -f "$file" ]]; then
# Extrair o nome do arquivo
filename=$(basename "$file")
# Verificar se o arquivo contém uma data no formato YYYY-MM-DD
if [[ "$filename" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2} ]]; then
# Extrair a data
date_part="${filename:0:10}"
# Converter a data para o formato DD-MM-YYYY
new_date_part="${date_part:8:2}-${date_part:5:2}-${date_part:0:4}"
# Renomear o arquivo
new_filename="${filename/$date_part/$new_date_part}"
mv "$file" "$directory/$new_filename"
echo "Renomeado: $filename -> $new_filename"
fi
fi
done
| Nome do Arquivo Original | Nome do Arquivo Renomeado |
|---|---|
| 2023-10-05_relatorio.pdf | 05-10-2023_relatorio.pdf |
| 2022-12-31_dados.xlsx | 31-12-2022_dados.xlsx |
| 2021-01-15_notas.txt | 15-01-2021_notas.txt |
Com estes scripts, você automatiza o processo de renomear arquivos com datas, garantindo consistência e economizando tempo. A escolha entre Python e Bash depende do seu ambiente e preferência, mas ambos os métodos são eficazes para padronizar nomes de arquivos de forma rápida e confiável.