Hace unos días un cliente nos envió un directorio lleno de imágenes para subir a una web. Al inspeccionar los ficheros nos dimos cuenta de problemas en el nombre de los mismos: muchos tenían espacios (las páginas web no los reconocen) y algunos dos puntos en el nombre.
Había que tratar este directorio antes de subirlo, pero no podíamos hacerlo uno a uno, así que buscamos la manera de tratar nombres de ficheros de manera recursiva en Windows, y os dejamos cómo hacerlo.
Renombrar o cambiar caracteres de ficheros de manera masiva en directorios en Windows.
Para poder hacer esto vamos a usar PowerShell. En Windows 11 podemos usar el Terminal, que unifica Powershell y el Símbolo de Sistema, o abrir PowerShell directamente. Pero en versiones anteriores tenemos que usar PowerShell para poder usar estos comandos.
Vamos a usar Get-ChildItem, que nos proporciona un listado de los elementos que queremos dentro de un lugar especificado. A este comando vamos a poder introducirle un filtro si queremos seleccionar los ficheros a tratar. Después vamos a pasar esos elementos por un bucle foreach, y en ese bucle vamos a usar un Rename-Item para cambiar los símbolos que queramos por otros.
El comando a usar es:
get-childitem *.* | foreach {rename-item $_ $_.name.replace(" ","_")}
En ese comando estamos seleccionando todos los ficheros (*.*) pero podemos filtrar (y de hecho en el vídeo lo hacemos para las pruebas iniciales). Después estamos cambiando el espacio por un guion bajo. Pero eso lo podemos cambiar, y de hecho en el vídeo cambiamos también los dos puntos por un punto.
Podéis ver el proceso en este vídeo:
Os recomendamos los siguientes productos relacionados con la informática: