AutoHotkey - - перебирает файлы и заменяет пробелы на _

AutoHotkey - - перебирает файлы и заменяет пробелы на _

С помощью AutoHotkey пытаюсь перебрать все jpg-файлы по абсолютному пути и заменить все пробелы на _ . Я боролся с этим годами, но дошел только до этого:

#!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

решение1

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

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

    MsgBox % "New filename: " newName
}

Это должно сработать. Просто убедитесь, что вы сначала запустили это на тестовой партии, чтобы случайно не переименовать все ваши изображения во что-то не то.

Если вы не собираетесь переименовывать изображения, просто удалите FileMove, %A_LoopFileFullPath%, %filePath%\%newName%.

решение2

AutoHotkey — неподходящий инструмент для этой работы, поскольку у вас Windows, есть отличные программы, такие как Advanced Renamer.http://www.advancedrenamer.com/

Если бы вы работали на Linux, то было бы еще проще, используя Perl Rename (переименовать).

Оба используют стандартные регулярные выражения.

Связанный контент