48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
import os
|
|
import re
|
|
import shutil
|
|
from tkinter import Tk, filedialog
|
|
|
|
def limpiar_nombre(nombre):
|
|
# Reemplazar espacios por guiones bajos
|
|
nombre = nombre.replace(' ', '_')
|
|
# Reemplazar eñes por 'enes'
|
|
nombre = nombre.replace('ñ', 'en')
|
|
nombre = nombre.replace('Ñ', 'En')
|
|
# Eliminar caracteres especiales dejando solo letras, números y guiones bajos
|
|
nombre = re.sub(r'[^a-zA-Z0-9_\.]', '', nombre)
|
|
return nombre
|
|
|
|
def main():
|
|
# Crear ventana de Tkinter y esconderla
|
|
root = Tk()
|
|
root.withdraw()
|
|
|
|
# Seleccionar carpeta
|
|
carpeta_origen = filedialog.askdirectory(title="Selecciona la carpeta con los archivos PDF")
|
|
if not carpeta_origen:
|
|
print("No se seleccionó ninguna carpeta.")
|
|
return
|
|
|
|
# Crear carpeta destino
|
|
carpeta_destino = os.path.join(os.path.dirname(carpeta_origen), f"sercopready_{os.path.basename(carpeta_origen)}")
|
|
os.makedirs(carpeta_destino, exist_ok=True)
|
|
|
|
# Procesar archivos PDF
|
|
for filename in os.listdir(carpeta_origen):
|
|
if filename.lower().endswith('.pdf'):
|
|
# Limpiar nombre
|
|
nuevo_nombre = limpiar_nombre(filename)
|
|
# Mantener extensión .pdf
|
|
nuevo_nombre = nuevo_nombre if nuevo_nombre.lower().endswith('.pdf') else nuevo_nombre + '.pdf'
|
|
# Rutas completas
|
|
ruta_origen = os.path.join(carpeta_origen, filename)
|
|
ruta_destino = os.path.join(carpeta_destino, nuevo_nombre)
|
|
# Copiar y renombrar archivo
|
|
shutil.copy2(ruta_origen, ruta_destino)
|
|
|
|
print(f"Archivos procesados y copiados en: {carpeta_destino}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|