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 Renamerhttp://www.advancedrenamer.com/

如果您使用的是 Linux,那就更简单了,使用 Perl Rename(重命名)。

两者都使用标准正则表达式。

相关内容