Cambiar un caracter en varios nombres de ficheros en Windows

Me ha llegado un trabajo donde el cliente me da unos archivos en PDF nombrados con una referencia de la siguiente forma «001-01-02.pdf». Los PDF son 200 archivos con ese mismo formato de referencia.

En Excel estamos añadiendo rangos de celdas, y esto nos impide poner en la referencia el simbolo «-«. Como debo ir copiando y pegando este nombre, debo reemplazar el nombre de todos los archivos de la carpeta con el mismo nombre pero cambiando «-» por «_», que los rangos de Excel si aceptan. El nombre de la referencia debe quedar así «001_01_02.pdf».

Para ello vamos a crear un pequeño script en VBS. Creamos un nuevo archivo con Notepad, en mi caso utilizo «Notepad++». En el nuevo archivo pondremos el siguiente código:

Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("C:\mi_carpeta\")

For Each File In Folder.Files
    sNewFile = File.Name
    sNewFile = Replace(sNewFile,"-","_")
    if (sNewFile<>File.Name) then 
        File.Move(File.ParentFolder+"\"+sNewFile)
    end if

Next

En la linea 2 indico la carpeta donde quiero hacer el cambio y en la linea 6 el caracteres que busco («-«) y por cual lo reemplazo («_»).

Ahora guardo el archivo con la extensión .vbs, en mi caso le he llamado «reemplazar_caracter.vbs».

Acto seguido ejecuto el archivo desde el explorador de archivos de Windows y listo, reemplazará todos los caracteres «-» por «_» en los 200 archivos.

NOTA: Si queremos hacer lo mismo con carpetas hay que poner ‘Folder.SubFolders’ en lugar de ‘Folder.Files’.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

1 × dos =

Ir arriba