Verschieben und Umbenennen mit fortlaufender Nummerierung
Hallo,
ich habe ein kleines Problem und ich bekomme es einfach nicht so hin wie ich es brauche.
Habe schon mehrere Vorschläge aus dem Forum probiert, aber es passt nicht genau zu meinem Problem.
Ich habe in meinem Quellordner c:\testquelle verschiedene Dateien mit der Endung .ABC liegen.
c:\testquelle
fdggfgh.ABC
3ed556t.ABC
3456fsf.ABC
diese solle per Bat oder cmd in einen anderen Ordner verschoben werden (c:\testziel) und dabei umbenannt werden.
Der Dateiname soll immer mit AAAAA beginnen und danach immer mit einer dreistelligen Nummer mit führenden Nullen bezeichnet werden. Die Dateiendung soll gleich der Quelldatei sein:
c:\testziel
AAAAA001.ABC
AAAAA002.ABC
AAAAA003.ABC
Wichtig wäre noch, das bei dem umbenennen geprüft wird, ob es in dem Ordner schon eine Datei mit dem Namen gibt und sonst mit der nächsten Nummer fortfährt. In dem o.g. Beispiel wäre das z.B. dann bei dem nächsten Aufruf die AAAAA004.ABC. Dies sollte zwar nicht vorkommen und die Datei in der Zwischenzeit längst abgeholt werden, aber es kann vorkommen das noch Dateien vom letzten Aufruf vorhanden sind.
Ist das mit einem Batch machbar? Wäre super wenn wir das hinkriegen.
Vielen Dank schonmal.
Gruß
ich habe ein kleines Problem und ich bekomme es einfach nicht so hin wie ich es brauche.
Habe schon mehrere Vorschläge aus dem Forum probiert, aber es passt nicht genau zu meinem Problem.
Ich habe in meinem Quellordner c:\testquelle verschiedene Dateien mit der Endung .ABC liegen.
c:\testquelle
fdggfgh.ABC
3ed556t.ABC
3456fsf.ABC
diese solle per Bat oder cmd in einen anderen Ordner verschoben werden (c:\testziel) und dabei umbenannt werden.
Der Dateiname soll immer mit AAAAA beginnen und danach immer mit einer dreistelligen Nummer mit führenden Nullen bezeichnet werden. Die Dateiendung soll gleich der Quelldatei sein:
c:\testziel
AAAAA001.ABC
AAAAA002.ABC
AAAAA003.ABC
Wichtig wäre noch, das bei dem umbenennen geprüft wird, ob es in dem Ordner schon eine Datei mit dem Namen gibt und sonst mit der nächsten Nummer fortfährt. In dem o.g. Beispiel wäre das z.B. dann bei dem nächsten Aufruf die AAAAA004.ABC. Dies sollte zwar nicht vorkommen und die Datei in der Zwischenzeit längst abgeholt werden, aber es kann vorkommen das noch Dateien vom letzten Aufruf vorhanden sind.
Ist das mit einem Batch machbar? Wäre super wenn wir das hinkriegen.
Vielen Dank schonmal.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204437
Url: https://administrator.de/forum/verschieben-und-umbenennen-mit-fortlaufender-nummerierung-204437.html
Ausgedruckt am: 23.12.2024 um 05:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
Ungetestet funktioniert das ungefär so:
Ungetestet funktioniert das ungefär so:
@echo off
set num=1
FOR /F "delims=" %%i in ('dir /b c:\testquelle\*.ABC') do call:MoveRename "%%i"
goto:eof
:MoveRename
set numstr=000%num%
set numstr=%numstr:~-3%
if not exist c:\testziel\AAAAA%numstr%.ABC (
move "c:\testquelle\%~1" c:\testziel\AAAAA%numstr%.ABC
goto:eof
)
set /a num=num+1
goto:MoveRename