AutoHotkey - - durchläuft Dateien und ersetzt Leerzeichen durch _

AutoHotkey - - durchläuft Dateien und ersetzt Leerzeichen durch _

Mit AutoHotkey versuche ich, alle JPGs in einem absoluten Pfad zu durchlaufen und alle Leerzeichen durch _ zu ersetzen. Ich kämpfe schon seit Ewigkeiten damit und bin nur so weit gekommen:

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

Antwort1

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

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

    MsgBox % "New filename: " newName
}

Das sollte funktionieren. Stellen Sie nur sicher, dass Sie dies zuerst in einem Test-Batch ausführen, damit Sie nicht versehentlich alle Ihre Bilder in etwas umbenennen, das Sie nicht möchten.

Wenn Sie die Bilder nicht umbenennen möchten, entfernen Sie einfach FileMove, %A_LoopFileFullPath%, %filePath%\%newName%.

Antwort2

AutoHotkey ist das falsche Werkzeug für den Job, da Sie unter Windows arbeiten, gibt es großartige Programme wie Advanced Renamerhttp://www.advancedrenamer.com/

Wenn Sie Linux verwenden, ist es mit Perl Rename (Umbenennen) sogar noch einfacher.

Beide verwenden Standard-Regex.

verwandte Informationen