Dateien nach Ordnernamen umbenennen
Tach, ich suche eine Möglichkeit, eine Datei in einem Ordner nach dem Ordnernamen umzubenennen.
Es ist immer die "folder.png" wo umbenannt werdn muss.
Habe auch schon codes gefunden nur die bennen alles um.
Zum verständnis nochmal:
Ordner 1
---folder.jpg
---folder.png
---info.xml
Ordner 2
---folder.jpg
---folder.png
---info.xml
Wird zu
Ordner 1
---folder.jpg
---Ordner 1.png
---info.xml
Ordner 2
---folder.jpg
---Ordner 2.png
---info.xml
Es ist immer die "folder.png" wo umbenannt werdn muss.
Habe auch schon codes gefunden nur die bennen alles um.
Zum verständnis nochmal:
Ordner 1
---folder.jpg
---folder.png
---info.xml
Ordner 2
---folder.jpg
---folder.png
---info.xml
Wird zu
Ordner 1
---folder.jpg
---Ordner 1.png
---info.xml
Ordner 2
---folder.jpg
---Ordner 2.png
---info.xml
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 10.01.2012 um 21:37:39 Uhr
Habe auch schon codes gefunden nur die bennen alles um.
Ach was. Coder, die bennen, die beissen nicht.Set /a rgc +=1
#788
Content-ID: 178696
Url: https://administrator.de/contentid/178696
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
da fehlen leider einige Informationen: Was für Ordner sollen bearbeitet werden? Alle in einem Überordner?
Falls es so ist, hier mal ein Ansatz (zeigt umbenennen nur an):
[edit: Auf Hinweis von Phil zwei " (<-- wie heissen die hier jetzt eigentlich?) ergänzt. Danke Phil.]
MfG,
Mathe172
da fehlen leider einige Informationen: Was für Ordner sollen bearbeitet werden? Alle in einem Überordner?
Falls es so ist, hier mal ein Ansatz (zeigt umbenennen nur an):
for /f "delims=" %%A in ('dir /b /a:d "C:\Ordner"') do echo ren "C:\Ordner\%%A\folder.png" "%%A.png"
MfG,
Mathe172
moin zwoelf,
ein bisschen mehr Mitarbeit wäre schön. Die schöne Tabelle ist schonmal etwas davon.
Die Codezeile von @mathe172 ist fast gebrauchsfertig für einen Batch.
Hast Du diese Zeile in einem Batch getestet? Wenn nein - Kopier den Entwurf in eine leere "Rename.cmd" und führe diese in einem CMD-Fenster aus.
Biber empfiehlt immer ein "proof of Concept" In der CMD-Line zu testen. Dazu genügt es die großen Probleme in kleine Probleme zu zerlegen und diese beim kleinsten Angefangen Auszutesten.
Ich könnte jetzt auf die kleinen Fehlerchen in der einen Zeile Hinweisen, aber vielleicht kommst Du anhand der Fehlermeldungen schon selbst drauf.
Ansonsten Fragen.
Gruß Phil
ein bisschen mehr Mitarbeit wäre schön. Die schöne Tabelle ist schonmal etwas davon.
Die Codezeile von @mathe172 ist fast gebrauchsfertig für einen Batch.
Hast Du diese Zeile in einem Batch getestet? Wenn nein - Kopier den Entwurf in eine leere "Rename.cmd" und führe diese in einem CMD-Fenster aus.
Biber empfiehlt immer ein "proof of Concept" In der CMD-Line zu testen. Dazu genügt es die großen Probleme in kleine Probleme zu zerlegen und diese beim kleinsten Angefangen Auszutesten.
- Zeige mir die Ordner an - wenn OK dann
- Zeige mir die Ordner nacheinander in einer Schleife an - wenn OK dann
- Zeige mir die Ordner nacheinander in einer Schleife als Test Umbenennungbefehl - wenn OK dann
- Mache aus den Test eine Umbenennung - Fertig!
Ich könnte jetzt auf die kleinen Fehlerchen in der einen Zeile Hinweisen, aber vielleicht kommst Du anhand der Fehlermeldungen schon selbst drauf.
Ansonsten Fragen.
Gruß Phil
Moin zwoelf,
Varianten von Mathe172s Ansatz wären eine FOR /D oder einer FOR /R-Anweisung.
Proof of concept am CMD-Prompt (ich führe es von einem Laufwerk Y: aus):
Einzugebende Zeile ist dementsprechend nur das, was hinter dem Prompt "Y:\>" steht. Alle Folgezeilen sind Ausgabezeilen.
Die zweite Variante würde auch weitere Unterordner-Ebenen unterhalb der ersten Ebene abfackeln.
Grüße
Biber
[Edit 19:15h]
Die zweite Variante ist natürlichDönekens subsouverän.
Hier das, was ich meinte:
[/Edit]
Varianten von Mathe172s Ansatz wären eine FOR /D oder einer FOR /R-Anweisung.
Proof of concept am CMD-Prompt (ich führe es von einem Laufwerk Y: aus):
Einzugebende Zeile ist dementsprechend nur das, was hinter dem Prompt "Y:\>" steht. Alle Folgezeilen sind Ausgabezeilen.
Y:\>FOR /D %i in ("d:\temp\test\ordner ??") do @if exist "%i\folder.png" @echo ren "%i\folder.png" "%~nxi.png"
ren "d:\temp\test\ordner 1\folder.png" "ordner 1.png"
ren "d:\temp\test\ordner 2\folder.png" "ordner 2.png"
ren "d:\temp\test\ordner 27\folder.png" "ordner 27.png"
ren "d:\temp\test\ordner 3\folder.png" "ordner 3.png"
Y:\>FOR /R "d:\temp\test" %i in (folder.png) do @if exist "%i" @echo ren "%i" "%~nxi"
ren "d:\temp\test\ordner 1\folder.png" "folder.png"
ren "d:\temp\test\ordner 2\folder.png" "folder.png"
ren "d:\temp\test\ordner 2\unterordner A\folder.png" "folder.png"
ren "d:\temp\test\ordner 27\folder.png" "folder.png"
ren "d:\temp\test\ordner 3\folder.png" "folder.png"
Die zweite Variante würde auch weitere Unterordner-Ebenen unterhalb der ersten Ebene abfackeln.
Grüße
Biber
[Edit 19:15h]
Die zweite Variante ist natürlich
Hier das, was ich meinte:
Y:\>FOR /R "d:\temp\test" %i in (folder.png) do @if exist "%i" @for /d %j in ("%i\..") do @echo ren "%i" "%~nj%~xi"
ren "d:\temp\test\ordner 1\folder.png" "ordner 1.png"
ren "d:\temp\test\ordner 2\folder.png" "ordner 2.png"
ren "d:\temp\test\ordner 2\unterordner A\folder.png" "unterordner A.png"
ren "d:\temp\test\ordner 27\folder.png" "ordner 27.png"
ren "d:\temp\test\ordner 3\folder.png" "ordner 3.png"
Nein.