schl3ck
schon lange hier
Hallo,
ich wollte mal meine Bilder in einem Ordner sortieren (mit Zahlen natürlich), wobei ich immer wieder mal ein Bild warum auch immer lösche, oder neue kommen hinzu.
Um diesem Problem her zu werden, wollte ich, dass ein Batch-Skript den ganzen Kram erledigt.
Irgendwie habe ich auch schon etwas zusammen gestellt, nur bricht es immer bei der for-Schleife ab (Fehlermeldung im angehängten Bild; mit "Druck-Taste" aufgenommen, da das Fenster sofort verschwindet)
Mein Ergebnis bis jetzt:
Das ganze soll die Bilder im Schema "IMG_xxxx.jpg" benennen. Wenn jetzt zB die Datei IMG_0001.jpg fehlt, aber die 0002 vorhanden ist, soll er die 0002 in 0001 umbenennen.
Was da jetzt genau in der for-Schleife steht, weiß ich ehrlich gesagt nicht. hab das nur aus dem Thema "Ersten 4 Zeichen von Dateinamen in .txt schreiben" (oder so ähnlich).
Ich hoffe, mir kann jemand helfen
ich wollte mal meine Bilder in einem Ordner sortieren (mit Zahlen natürlich), wobei ich immer wieder mal ein Bild warum auch immer lösche, oder neue kommen hinzu.
Um diesem Problem her zu werden, wollte ich, dass ein Batch-Skript den ganzen Kram erledigt.
Irgendwie habe ich auch schon etwas zusammen gestellt, nur bricht es immer bei der for-Schleife ab (Fehlermeldung im angehängten Bild; mit "Druck-Taste" aufgenommen, da das Fenster sofort verschwindet)
Mein Ergebnis bis jetzt:
Code:
::@echo off
set i=0001
set D=E:\Neuer Ordner
pause
for /f %%a in ('dir "%D%\*" /A:-D /B') do (
set A=%%~a
set B=!A:~4,3! :: soll die 4.-7. Zeichen im Dateinamen extrahieren
if not %B%==%i% (
set bild=IMG_%i%.jpg
ren %A% %bild% :: Umbenennen
)
set /a i=%i%+1 :: Rechenvorgang (1 zur Zahl hinzufügen)
if /i %i% LSS 10 ( set i=000%i% ) else (
if /i %i% LSS 100 ( set i=00%i% ) else (
if /i %i% LSS 1000 set i=0%i% )) :: durch den Rechenvorgang wurden die 000 am Anfang entfernt -> wieder hinzufügen
)
pause
Das ganze soll die Bilder im Schema "IMG_xxxx.jpg" benennen. Wenn jetzt zB die Datei IMG_0001.jpg fehlt, aber die 0002 vorhanden ist, soll er die 0002 in 0001 umbenennen.
Was da jetzt genau in der for-Schleife steht, weiß ich ehrlich gesagt nicht. hab das nur aus dem Thema "Ersten 4 Zeichen von Dateinamen in .txt schreiben" (oder so ähnlich).
Ich hoffe, mir kann jemand helfen