Renombrado Masivo: Cómo Insertar Texto en Nombres de Archivos tras un Número Específico de Caracteres

Cuando gestionamos grandes cantidades de archivos, a menudo surge la necesidad de renombrarlos por lotes. Una de las tareas más específicas y que mayor confusión genera es insertar una palabra o texto intermedio exactamente después de un número determinado de caracteres (por ejemplo, insertar PALABRA justo después del carácter número 11).

A continuación, exploramos cómo resolver este problema de manera efectiva utilizando la interfaz gráfica de XnView MP y, como alternativa, un sencillo script de automatización diseñado para quienes buscan resultados rápidos sin configuraciones complejas.

Método 1: La Solución con XnView MP (Expresiones Regulares)

XnView MP es una herramienta poderosa para el renombrado por lotes, pero requiere conocer la sintaxis exacta de su motor interno. Muchos usuarios cometen el error de usar la sintaxis web moderna ($1, $2), cuando en realidad, XnView MP utiliza el estándar clásico de sistemas operativos Unix/POSIX (\1, \2) para invocar los grupos de memoria.

Para insertar el texto " PALABRA " después del carácter 11 en todos tus archivos, sigue estos pasos exactos:

  1. Preparar la Plantilla: En la herramienta de renombrado por lotes, ve a la casilla superior Plantilla de nombre y déjala únicamente con el valor {Filename}. Esto le indica al programa que utilizará el nombre original limpio como base.
  2. Activar RegEx: Es vital asegurarse de marcar la casilla de verificación llamada Usar expresiones regulares (o RegEx), ubicada junto a los campos inferiores.
  3. Configurar la Búsqueda: En la casilla de Buscar, introduce el siguiente código:
    ^(.{11})(.*)
    ¿Qué hace esto? El fragmento ^(.{11}) cuenta y captura los primeros 11 caracteres del nombre del archivo y los guarda en la memoria 1. El fragmento (.*) captura el resto del nombre y lo guarda en la memoria 2.
  4. Configurar el Reemplazo: En la casilla Reemplazar por, introduce:
    \1 PALABRA \2
    ¿Qué hace esto? Le dice al programa: "Coloca lo que guardaste en la memoria 1 (\1), luego inserta el texto ' PALABRA ', y finalmente coloca el resto del nombre guardado en la memoria 2 (\2)". Es indispensable usar las barras invertidas \ en lugar del símbolo de dólar.

Verás el resultado perfecto de manera instantánea en la columna de previsualización.

Nota sobre XnView Classic: Si intentas realizar este proceso en XnView Classic (v2.51.7 o similares), no funcionará. La función de "Comodines" en la versión Classic utiliza un motor muy antiguo que solo reconoce caracteres básicos y es técnicamente incapaz de procesar contadores avanzados como .{11} o memorias de sustitución como \1. Para esta tarea, XnView MP es la única opción viable de la suite.

Método 2: La Alternativa de Automatización (Script en Python)

Si las Expresiones Regulares (RegEx) te resultan confusas o necesitas hacer esta tarea recurrentemente sin configurar XnView MP cada vez, puedes usar un script de programación.

El objetivo de este script no es complicarte la vida, sino todo lo contrario: tú solo le indicas la carpeta, el texto a insertar y en qué posición, y el programa hace todo el trabajo pesado en un segundo.

El Código

Si tienes Python instalado en tu computadora, guarda el siguiente código en un archivo llamado renombrar.py. Solo necesitas editar las 3 primeras líneas de configuración:

import os

# --- ZONA DE CONFIGURACIÓN FÁCIL ---

# 1. Pon aquí la ruta de la carpeta donde están tus archivos
carpeta = r"C:\Ruta\A\Tus\Archivos" 

# 2. ¿Qué texto quieres insertar? (Incluye los espacios si los necesitas)
texto_a_insertar = " PALABRA "

# 3. ¿Después de cuántos caracteres quieres insertar el texto?
posicion = 11 

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

def renombrar_archivos():
    # Revisamos cada archivo dentro de la carpeta
    for nombre_archivo in os.listdir(carpeta):
        ruta_completa_antigua = os.path.join(carpeta, nombre_archivo)
        
        # Nos aseguramos de que sea un archivo y no una subcarpeta
        if os.path.isfile(ruta_completa_antigua):
            
            # Separamos el nombre de la extensión (ej. .jpg, .pdf)
            nombre_sin_ext, extension = os.path.splitext(nombre_archivo)
            
            # Solo modificamos si el nombre es lo suficientemente largo
            if len(nombre_sin_ext) >= posicion:
                # Partimos el nombre en dos y metemos el texto en medio
                primera_mitad = nombre_sin_ext[:posicion]
                segunda_mitad = nombre_sin_ext[posicion:]
                
                nuevo_nombre = primera_mitad + texto_a_insertar + segunda_mitad + extension
                ruta_completa_nueva = os.path.join(carpeta, nuevo_nombre)
                
                # Renombramos el archivo
                os.rename(ruta_completa_antigua, ruta_completa_nueva)
                print(f"Renombrado: {nombre_archivo} -> {nuevo_nombre}")
            else:
                print(f"Omitido (muy corto): {nombre_archivo}")

if __name__ == "__main__":
    print("Iniciando proceso de renombrado...")
    renombrar_archivos()
    print("¡Proceso terminado!")

¿Por qué usar este script?

  • Configuración humana: No necesitas saber qué significa el código RegEx, solo cambias la ruta, el texto y el número.
  • Protección de extensiones: El código detecta automáticamente si tu archivo es .pdf, .jpg o .docx y lo separa momentáneamente para que el texto insertado no arruine el formato.
  • Reutilizable: Puedes guardar este archivo en tu escritorio y ejecutarlo con un doble clic cada vez que necesites renombrar un lote.
  • Instalar Python: Puedes ver la guia del año pasado de como instalar Python en Windows 10 aqui.

0 comentarios:

Copyright © 2013 Informacion Prelude