Umbenennung von sehr vielen Dateien per Batch? (Verzeichnisname als Dateiname und durchnummeriert)
Hallo. Habe diesen Beitrag Datei mit Ordnernamen umbenennen, aus Ordner verschieben und diesen löschen! per google gefunden und find es klasse. Auch wenn ich keinen plan von programmieren habe, hoffe ich das ich vielleicht eine lösung bekomme.
Habe mir mal diesen Thread durchgelesen und denke das diese Batch-Datei:
für mich teilweise in Frage kommt. Habe es auch ausprobiert, aber es sind 2 Dinge die anders sein müssten.
Ist es möglich 2 kleine Veränderungen daran vorzunehmen?
Ich hab folgendes Problem:
Momentan habe ich, aufgrund eines Lehrgangs, sehr viel zu scannen. Ich mache das mit einem Canon-Scanner und Patchseiten. Dadurch wird immer wieder ein neuer Ordner erstellt sobald eine dieser Seiten kommt. Und mir fehlt einfach die nötige Zeit meine Dateien ordentlich umzubenennen.
Beispiel:
Laufwerk: C:
Ordner: XYZ
Unterordner: AAA bis ZZZ (Anzahl variiert)
Datei im Unterordner: xxxxx####.jpg (Anzahl variiert)
Die neue Datei im Unterordner sollte nach der Umbenennung wie folgt aussehen: AAA####.jpg (Name des Unterordners+Nr.)
In jedem Ordner sollen die *.jpg Dateien immer wieder ab 0001 durchnummeriert werden. Und die Endung *.jpg soll auch beibehalten werden.
Und die umgenannten Dateien sollen auch nicht in ein anderes Verzeichnis kopiert werden, sonder da bleiben wo sie sind.
Vielen Dank schon mal im Voraus.
Gruß xercxes
Habe mir mal diesen Thread durchgelesen und denke das diese Batch-Datei:
@echo off
FOR /F "delims=" %%i in ('dir /B /AD') do (
FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do copy /-Y "%%i\%%j" "%%i%%~xj"
rd /s /q "%%i"
)
für mich teilweise in Frage kommt. Habe es auch ausprobiert, aber es sind 2 Dinge die anders sein müssten.
Ist es möglich 2 kleine Veränderungen daran vorzunehmen?
Ich hab folgendes Problem:
Momentan habe ich, aufgrund eines Lehrgangs, sehr viel zu scannen. Ich mache das mit einem Canon-Scanner und Patchseiten. Dadurch wird immer wieder ein neuer Ordner erstellt sobald eine dieser Seiten kommt. Und mir fehlt einfach die nötige Zeit meine Dateien ordentlich umzubenennen.
Beispiel:
Laufwerk: C:
Ordner: XYZ
Unterordner: AAA bis ZZZ (Anzahl variiert)
Datei im Unterordner: xxxxx####.jpg (Anzahl variiert)
Die neue Datei im Unterordner sollte nach der Umbenennung wie folgt aussehen: AAA####.jpg (Name des Unterordners+Nr.)
In jedem Ordner sollen die *.jpg Dateien immer wieder ab 0001 durchnummeriert werden. Und die Endung *.jpg soll auch beibehalten werden.
Und die umgenannten Dateien sollen auch nicht in ein anderes Verzeichnis kopiert werden, sonder da bleiben wo sie sind.
Vielen Dank schon mal im Voraus.
Gruß xercxes
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 100033
Url: https://administrator.de/contentid/100033
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo xercxes und willkommen im Forum!
Das könnte etwa so gehen:
Die Vorgangsweise für die Nummerierung sieht dabei so aus, dass zunächst die höchste bereits vorhandene Nummer jedes Ordners ermittelt wird und die neuen Dateien (deren Name also noch nicht mit dem Ordnernamen beginnt) chronologisch geordnet (nach Änderungsdatum) mit der nächsthöheren Nummer beginnend umbenannt werden.
Wegen des "echo" vor dem "ren" in Zeile 8 werden (um gefahrloses Testen zu ermöglichen) die Umbenennungsbefehle zunächst nur angezeigt - erst, nachdem dieses "echo" entfernt wurde, werden die Dateinamen tatsächlich geändert.
Noch ein Hinweis: Wenn Ordnernamen "!" enthalten sollten, wird dieser Batch nicht funktionieren.
Grüße
bastla
Das könnte etwa so gehen:
@echo off & setlocal enabledelayedexpansion
set "Basis=C:\XYZ"
for /d %%v in ("%Basis%\*.*") do (
set "Letzte=10000"
for /f "delims=" %%i in ('dir /b /on "%%v\%%~nxv*.jpg" 2^>nul') do set "Letzte=%%~ni"
set /a Nr=1!Letzte:~-4!
for /f "delims=" %%d in ('dir /b /od "%%v\*.jpg" 2^>nul^|findstr /v /b "%%~nxv"') do (set /a Nr+=1 & echo ren "%%v\%%d" "%%~nxv!Nr:~-4!%%~xd")
)
Wegen des "echo" vor dem "ren" in Zeile 8 werden (um gefahrloses Testen zu ermöglichen) die Umbenennungsbefehle zunächst nur angezeigt - erst, nachdem dieses "echo" entfernt wurde, werden die Dateinamen tatsächlich geändert.
Noch ein Hinweis: Wenn Ordnernamen "!" enthalten sollten, wird dieser Batch nicht funktionieren.
Grüße
bastla