batch rename all files
Wer kennt es nicht? Hunderte Dateien auf der Festplatte und alle sind unterschiedlich benannt. Hier und da schleicht sich eine Klammer ein, oder es wechseln sich Leerzeichen, Bindestrichen und Unterstriche ab. Hat man nun das Glück ein Programm zu besitzen, welches ein bestimmtes Zeichen ablehnt, so kann man sich schon einmal auf eine lange Nacht einstellen.
Mir war das zu viel Arbeit und so erstellte ich ein Script. Die Anforderung ist wie folgt:
- keine Klammern ( )
- Leerzeichen ersetzen durch Bindestrich
- Unterstriche ersetzen durch Bindestrich
vorher: »foo_bar filename (1).jpg«
hinterher: »foo-bar-filename-1.jpg«
Zum scripten habe ich zwei Dateien erstellt. Ausgeführt werden muss dabei nur die Datei »run.bat«.
run.bat
forfiles /m "*.*" /c " cmd /c function @file"
function.bat
set LIST1=%1 set LIST2=%LIST1:_=-% set LIST3=%LIST2: =-% set LIST4=%LIST3:(=% set LIST5=%LIST4:)=% ren %LIST1% %LIST5%
Sicher kann der Code noch kompakter geschrieben werden, aber hiermit funktioniert es sehr gut und für euch ist es auch besser verständlich.
#Fotoprojekt2014
Apfelschwan schnitzen