1

С 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

2 ответа2

2
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% .

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .