AutoHotkey - recorre archivos y reemplaza espacios en blanco con _

AutoHotkey - recorre archivos y reemplaza espacios en blanco con _

Con AutoHotkey, intento recorrer todos los jpg en una ruta absoluta y reemplazar todos los espacios en blanco con _. He estado luchando con esto durante años, sólo llegué hasta aquí:

#!l::


  Loop, C:\Users\me\Desktop\OM\renaming folder\*V1.jp*

    StringReplace, NewStr, OldStr, %A_SPACE%, +, All

   ;; StringReplace, A_LoopFileName, %A_LoopFileName%, %A_SPACE%, +, All ; also tried this, then I get an error about an illegal char in var name

    Return

Respuesta1

filePath := "C:\Path\To\Images"

Loop, %filePath%\*V1.jp*
{
    newName := RegExReplace(A_LoopFileName, "\s", "_")
    FileMove, %A_LoopFileFullPath%, %filePath%\%newName%

    MsgBox % "New filename: " newName
}

Esto debería funcionar. Solo asegúrese de ejecutar esto primero en un lote de prueba para no cambiar accidentalmente el nombre de todas sus imágenes a algo que no deseaba.

Si no tiene intención de cambiar el nombre de las imágenes, simplemente elimínelas FileMove, %A_LoopFileFullPath%, %filePath%\%newName%.

Respuesta2

AutoHotkey es la herramienta equivocada para el trabajo, ya que estás en Windows, hay programas excelentes como Advanced Renamerhttp://www.advancedrenamer.com/

Si estabas en Linux es aún más fácil, usando Perl Rename (renombrar).

Ambos usan expresiones regulares estándar.

información relacionada