
С помощью 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 (переименовать).
Оба используют стандартные регулярные выражения.