Palladin007
assimiliert
Das ist mein Programm:
Es ist nur ein Ausschnitt von dem ganzen Programm, aber dort ist der Fehler. Und dieser Teil sieht dem dritten und letztem Teil meines Programmes sehr ähnlich, ich hoffe also, dass ich hier aus meinen Fehlern lernen kann^^
Es sind zwei Teile. Der erste Teil hat die Aufgabe, sicher zu stellen, dass das Namens-Muster, was erstellt werden soll, noch nicht existiert.
Der zweite Teil benennt die Datein dann in das neue Namens-Muster um.
Als erstes wird die Variable zähler fest gelegt. Die dient nur zum zählen, wie der Name ja schon sagt.
Als zweites kommt die for-Schleife. Sie erfasst jedes jpg-Bild im Ordner und übergibt den Namen an die darauf folgenden Zeilen.
Und dort wird dann jeder Name geändert. Vorne steht %work% mit der Zahl, die garantiert, dass die neuen Namen kein zweites mal vorkommen und dahinter der Zähler, damit die Namen untereinander verschieden sind.
Und dann zählt der Zähler weiter
Die For-Schleife beginnt von vorne
Aber da liegt das Problem.
Die erste Datei wird so umbenannt, wie ich das auch will, aber der Zähler zählt danach nicht weiter.
Der bleibt auf 1 stehen, auch wenn bei jedem Durchlauf +1 gerechnet wird.
Ich blicks nicht, denn die Variable wird doch nur einmal eindeutig definiert und das ist FOR der Schleife, aber warum bleibt sie dann trotzdem auf 1 stehen, selbst wenn sie geändert wird?
Was hab ich falsch gemacht?
Code:
set work=1
:work
if exist %work%-*.jpg (
set /a work=%work%+1
goto work
) else (
goto for
)
:for
set zähler=1
for /f %%i in ('dir /b *.jpg') do (
ren "%%i" "%work%-%zähler%.jpg"
set /a zähler=%zähler%+1
)
Es ist nur ein Ausschnitt von dem ganzen Programm, aber dort ist der Fehler. Und dieser Teil sieht dem dritten und letztem Teil meines Programmes sehr ähnlich, ich hoffe also, dass ich hier aus meinen Fehlern lernen kann^^
Es sind zwei Teile. Der erste Teil hat die Aufgabe, sicher zu stellen, dass das Namens-Muster, was erstellt werden soll, noch nicht existiert.
Der zweite Teil benennt die Datein dann in das neue Namens-Muster um.
Als erstes wird die Variable zähler fest gelegt. Die dient nur zum zählen, wie der Name ja schon sagt.
Als zweites kommt die for-Schleife. Sie erfasst jedes jpg-Bild im Ordner und übergibt den Namen an die darauf folgenden Zeilen.
Und dort wird dann jeder Name geändert. Vorne steht %work% mit der Zahl, die garantiert, dass die neuen Namen kein zweites mal vorkommen und dahinter der Zähler, damit die Namen untereinander verschieden sind.
Und dann zählt der Zähler weiter
Die For-Schleife beginnt von vorne
Aber da liegt das Problem.
Die erste Datei wird so umbenannt, wie ich das auch will, aber der Zähler zählt danach nicht weiter.
Der bleibt auf 1 stehen, auch wenn bei jedem Durchlauf +1 gerechnet wird.
Ich blicks nicht, denn die Variable wird doch nur einmal eindeutig definiert und das ist FOR der Schleife, aber warum bleibt sie dann trotzdem auf 1 stehen, selbst wenn sie geändert wird?
Was hab ich falsch gemacht?