AutoHotkey - - scorre ciclicamente i file e sostituisce gli spazi bianchi con _


1

Con AutoHotkey, provando a scorrere tutti i jpg in un percorso assoluto e sostituire tutto lo spazio bianco con _. Ho combattuto con questo per secoli, sono arrivato così lontano:

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

Non prenderesti renin considerazione l'utilizzo in un file batch? In tal caso, questo potrebbe aiutare superuser.com/questions/309818/… come questo stackoverflow.com/questions/3919027/rename-files-using-batch
Dave

Ho pensato, ma non conosco il batch e la sua sintassi mi sembra completamente incomprensibile :)
Andrejs

Potrei dover andare in batch, quindi eseguirlo con AHK come parte del più grande programma che sto costruendo con AHK.
Andrejs,

Risposte:


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

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

    MsgBox % "New filename: " newName
}

Questo dovrebbe fare il trucco. Assicurati di eseguirlo prima su un batch di test in modo da non rinominare accidentalmente tutte le tue immagini in qualcosa che non volevi.

Se non si intende rinominare le immagini, è sufficiente rimuoverle FileMove, %A_LoopFileFullPath%, %filePath%\%newName%.


Grazie! Ha funzionato come un incantesimo, e ora mi servirà come base per sviluppare ulteriormente la sceneggiatura per rimuovere altri caratteri, ecc. (Come ho familiarità con Regex)
Andrejs,

0

AutoHotkey è lo strumento sbagliato per il lavoro, dato che sei su Windows ci sono ottimi programmi come Advanced Renamer http://www.advancedrenamer.com/

Se eri su Linux è ancora più semplice, usando Perl Rename (rinomina).

Entrambi usano regex standard.


1
Certo, li ho cercati tutti su Google, ma volevo questa funzionalità come parte di un singolo script più grande.
Andrejs,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.