Seguir a ChristianDvE en Twitter
 TwitterFacebookYouTubePinterestInstagramFeedPeriscope

Windows: Cómo renombrar ficheros en lote (incluso en subcarpetas) fácilmente

En más de una ocasión casi seguro que has querido cambiar los nombres de varios ficheros en lote (incluso cientos en diferentes carpetas) en Windows. Esto se puede hacer de manera sencilla e, incluso, si deben cumplir cierto patrón en su nombre en Windows 7, Windows 8/8.1 y Windows 10, se pueden renombrar con un solo comando y en cuestión de pocos segundos (y sin instalar nada y gratis) o con un programa gratuito.

El otro día se me planteó la necesidad de cambiar parte del nombre a cientos de ficheros que estaban distribuidos a lo largo de varias carpetas para cambiar parte de un texto en el nombre por otro.

Tener que ir carpeta por carpeta, habría llevado mucho tiempo. Con un comando les cambié el nombre y lo solucioné en apenas 5 minutos.

Cómo renombrar ficheros en lote o en grupo muy fácilmente

Cómo renombrar ficheros en lote o en grupo muy fácilmente

Cómo cambiar el nombre a muchos ficheros en Windows en grupo o por lote

En Windows es muy fácil cambiar el nombre a varios ficheros a la vez.

No hay más que seleccionarlos todos y pulsar el botón derecho sobre uno de ellos y elegir “Cambiar nombre”:

Seleccionar todos los ficheros y botón derecho > Cambiar nombre

Seleccionar todos los ficheros y botón derecho > Cambiar nombre

Teclear el nombre deseado y pulsar enter.

Poner en uno de ellos (con todos seleccionados) el nombre deseado

Poner en uno de ellos (con todos seleccionados) el nombre deseado

Renombra los ficheros de manera correlativa añadiendo un número entre paréntesis para diferenciarlos.

Ya están todos los ficheros con el mismo nombre y un número diferente

Ya están todos los ficheros con el mismo nombre y un número diferente

Lo malo de este punto es que todos tienen el mismo nombre y extensión (son del mismo tipo).

Si quieres, por ejemplo, que el nombre original se mantenga pero se cambie una parte (por ejemplo, supón que los nombres de los archivos son muy diferentes, de diferentes tipos, pero todos ellos incluyen en el nombre la cadena -textobuscado, por ejemplo, un fichero se llamará presupuesto-2017-textobuscado.docx.

Otro podría ser análisis-financiero-2017-textobuscado.xlsx, por ejemplo, etc.

(Textobuscado podría ser EmpresaGarcía, por ejemplo u otro identificador – ¿eliteTorrent.net?).

Si se aplicase el método anterior, todos pasarían a tener el mismo nombre con un número entre paréntesis de diferencia, lo que sería un problema. Además, con el método explicado en el punto anterior, todos deberían estar en la misma carpeta del ordenador. ¿Y si están en muchas carpetas y subcarpetas? Tiene solución fácil.

Cómo renombrar ficheros en lote (o solo una parte del mismo) según un patrón (incluso en varias subcarpetas)

Supongamos que tienes varios ficheros en distintas carpetas y todos ellos tienen algo en común, por ejemplo, contienen en el nombre del fichero la palabra textobuscado, y se quiere sustituir por textoqueponer.

Los pasos para hacerlo son (se puede hacer en cualquier versión de Windows 7, Windows 8, Windows 10 y posteriores):

  1. Abrir PowerShell (la manera más rápida es dale al botón de inicio y teclea directamente Powershell). Windows PowerShell es un intérprete avanzado de comandos (parecido a MS-DOS pero más potente, disponible a partir de Windows XP Service Pack 2) y aunque da un cierto reparo y rechazo usarlo si no te gustan los comandos, verás cómo es muy fácil de usar. Solo hay que copiar y pegar ahí.
  1. Cambia al directorio donde estén los ficheros, por ejemplo, si están en la carpeta de documentos, teclea “cd documentos” (al escribir docum se puede pulsar la tecla del tabulador y lo autocompleta con el valor correcto). Si está en Documentos subcarpeta trabajos teclea cd documentos\trabajos (por ejemplo).
  1. Teclea (o pega) el comando: Get-ChildItem -Filter “*textobuscado*” -Recurse | Rename-Item -NewName {$_.name -replace “textobuscado”,”textoqueponer” }

(suponiendo que textotextobuscado sea la cadena a buscar, y textoqueponer la que hay que poner). Si no es así, cámbialos por los valores que quieras.

Windows PowerShell para cambiar el nombre en lote a ficheros

Windows PowerShell para cambiar el nombre en lote a ficheros

  1. Pulsa enter y pasados unos segundos, se habrán cambiado todos, tanto de ese directorio, como de los subdirectorios.

Las partes del comando y lo que hacen cada una de ellas, son:

Get-ChildItem -Filter “*textobuscado*”
Busca todos los ficheros que contengan la cadena “textobuscado” en el nombre.

-Recurse
Si se indica este parámetro, el anterior busca de manera recursiva en todos los subdirectorios (subcarpetas) a partir de la ruta actual en la que se encuentra.

 |
Le indica a PowerShell que le pase cada uno de los objetos que encuentra en el primer comando (Get-ChildItem) y se lo pase al segundo comando (Rename-Item)

Rename-Item
Como su nombre indica, cambia el nombre del objeto.

{$_.name -replace “textobuscado”,”textoqueponer” }
Le indica al comeando Rename-Item que busque textobuscado y lo sustituya por textoqueponer. Si se quiere eliminar simplemente la parte del nombre con la cadena “textobuscado”, solo habría que sustituirlo por “”.

Un parámetro interesante que se puede usar es –Whatif al final del comando. De esta manera, el sistema presenta una relación de los nombres de los ficheros que se van a cambiar y cómo van a quedar sin llegar a hacerlo.

Get-ChildItem -Filter “*textobuscado*” -Recurse | Rename-Item -NewName {$_.name -replace “textobuscado”,”textoqueponer” } -Whatif

En caso de que ya exista el fichero, da error ya que no deja cambiarle el nombre (pues sobreescribiría al actual): Rename-Item : No se puede crear un archivo que ya existe.

Por supuesto, se puede complicar más el resultado con otros comandos, combinaciones o filtros (recomiendo usar el comando Get-command y Get-help), pero para cambiar en lote el nombre de un grupo de ficheros según un patrón, funciona perfectamente y es muy cómodo.

Es más complicado explicarlo que hacerlo. Si simplemente copias y pegas el comando sustituyendo las cadenas a buscar y por la que hay que sustituirlas por lo que quieres hacer, verás qué fácil es cambiar los nombres de ficheros en lote incluso en subcarpetas.

Cómo cambiar los nombres de los ficheros en lote y por carpetas y subcarpetas con Bulk rename utility

Si no te gustan las líneas de comandos y las “pantallas feas” de texto, hay otra solución interesante para cambiar los nombres de ficheros en lote en Windows.

Bulk rename utility es un programa para Windows gratuito (para uso personal) muy completo que permite hacerlo de una manera sencilla y tiene una gran cantidad de opciones como se puede ver en el Manual de Bulk rename utility.

Si lo instalas y lo abres, aparecen muchas opciones (y en inglés) que “asustan” un poco pero para cambiar los nombres no hay más que tocar dos opciones que explico aquí:

Bulk rename utility

Bulk rename utility

Solo hay que:

  1. Abre el programa Bulk rename utility después de instalarlo.
  2. Busca con el explorador de archivos la carpeta donde están los documentos que quieres cambiar. En mi caso y en este ejemplo, se llama christiandve.com y contiene varios ficheros llamados “New text document – Copy (un número).txt”. Lo que quiero es cambiar ese – Copy por OtroTexto (es un ejemplo).
  3. Seleccionar los archivos que se quieren modificar y en el campo “Replace” (teemplazar) pon lo que quieres buscar y en With (con) el texto con el que cambiarlo. Muy fácil. En la propia pantalla se ve cómo se llaman los archivos ahora y cómo se llamarán los nuevos.
  4. En la esquina inferior derecha está la opción de “Rename” o renombrar, lo que lanza el proceso tras pedir confirmación.
Bulk rename utility pide confirmación para cambiar el nombre de los ficheros en lote

Bulk rename utility pide confirmación para cambiar el nombre de los ficheros en lote

La aplicación como puedes ver permite muchas más opciones: expresiones regulares, cambiar fechas y horas de los ficheros, numeraciones, etc. pero escapan al alcance de este artículo. Viene explicadas en el Manual de Bulk rename utility y en la carpeta de instalación del programa viene algunos ejemplos (en la carpeta samples) muy ilustrativos.

Con estas tres opciones puedes ver cómo cambiar los nombres de fichero en lote en Windows de una manera muy sencilla y rápida, y da lo mismo si son 1, 2 o 10.000.

Compartir en redes sociales

Pinterest

Suscríbete al blog por correo electrónico

Introduce tu correo electrónico para suscribirte a este blog y recibir notificaciones de nuevas entradas.

6 respuestas a Windows: Cómo renombrar ficheros en lote (incluso en subcarpetas) fácilmente

Deja un comentario

Recibe por correo electrónico los nuevos contenidos para no perderte ninguno

Dirección de mail:

Sígueme (si quieres) también en Feedly

Archivos

Creative Commons
Los contenidos de este blog se encuentran bajo una Licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported.