zwoelf
Goto Top

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
Kommentar vom Moderator Biber am Jan 10, 2012 um 20: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-Key: 178696

Url: https://administrator.de/contentid/178696

Printed on: April 23, 2024 at 21:04 o'clock

Member: mathe172
mathe172 Jan 10, 2012 at 18:40:08 (UTC)
Goto Top
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):
for /f "delims=" %%A in ('dir /b /a:d "C:\Ordner"') do echo ren "C:\Ordner\%%A\folder.png" "%%A.png"  
[edit: Auf Hinweis von Phil zwei " (<-- wie heissen die hier jetzt eigentlich?) ergänzt. Danke Phil.]

MfG,
Mathe172
Member: zwoelf
zwoelf Jan 10, 2012 at 18:52:20 (UTC)
Goto Top
Hallo,
also es ist so
C:\Test Hauptordner ab hier sollte dann folder.png umbenannt werden
C:\Test\Ordner 1 Unterordner
folder.jpg Datei sollte so bleiben
folder.png soll dann "Ordner 1" heißen
info.xml sollte so bleiben
C:\Test\Ordner 2 Unterordner
folder.jpg Datei sollte so bleiben
folder.png soll dann "Ordner 2" heißen
info.xml sollte so bleiben
C:\Test\Ordner 3 Unterordner
folder.jpg Datei sollte so bleiben
folder.png soll dann "Ordner 3" heißen
info.xml sollte so bleiben
...
Member: zwoelf
zwoelf Jan 10, 2012 at 21:19:02 (UTC)
Goto Top
So sollte es dann werden


davor danach
C:\Test Hauptordner
C:\Test\Ordner 1 Unterordner 1
folder.jpg folder.jpg
folder.png Ordner 1.png
info.xml info.xml
C:\Test\Ordner 2 Unterordner 2
folder.jpg folder.jpg
folder.png Ordner 2.png
info.xml info.xml
C:\Test\Ordner 3 Unterordner 3
folder.jpg folder.jpg
folder.png Ordner 3.png
info.xml info.xml
C:\Test\Ordner 4 Unterordner 4
etc.... etc.....

Danke im voraus

MFG
Member: pieh-ejdsch
pieh-ejdsch Jan 11, 2012 at 09:53:40 (UTC)
Goto Top
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.
  1. Zeige mir die Ordner an - wenn OK dann
  2. Zeige mir die Ordner nacheinander in einer Schleife an - wenn OK dann
  3. Zeige mir die Ordner nacheinander in einer Schleife als Test Umbenennungbefehl - wenn OK dann
  4. 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
Member: zwoelf
zwoelf Jan 11, 2012 at 15:26:32 (UTC)
Goto Top
Hallo,

ja getestet hab ich das schon nur wenn ich das starte, schließt das CMD-Fenster gleich wieder.
Also Fehlermeldung kann ich deswegen auch keine sehen.
Die Ordnerstruktur bleibt so wie es war.
Ich hab von dem batch, Programmierung oder so keinen Plan.

[edit: Ok jetzt ging es doch aber es wird ja nur angezeigt,aber wie bekomme ich das hin das es auch ausführt???]

MFG
zwoelf
Member: zwoelf
zwoelf Jan 11, 2012 at 16:29:38 (UTC)
Goto Top
Ich hab jetzt ein paar sachen versucht jetzt gehts

 
for /f "delims=" %%A in ('dir /b /a:d "C:\Ordner"') do move "C:\Ordner\%%A\folder.png" "C:\Ordner\%%A\%%A.png"  

Ist das jetzt so richtig?
Member: mathe172
mathe172 Jan 11, 2012 at 17:16:14 (UTC)
Goto Top
Hallo,

besser wäre, wenn du einfach das echo aus meiner Zeile entfernst - dann sparst du dir den zweiten Pfad. (Du verschiebst die Datei in den gleichen Ordner und änderst den Namen, ren benennt einfach nur um)

MfG,
Mathe172
[Edit: Was das testen angeht, da haben wir eine gute Anleitung:
Member: Biber
Biber Jan 11, 2012 at 17:44:42 (UTC)
Goto Top
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.
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 Dönekens subsouverän.
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"  
[/Edit]
Member: zwoelf
zwoelf Jan 11, 2012 at 18:08:23 (UTC)
Goto Top
ok aber muss ich da nicht überall dei pfade angeben?

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"
Member: Biber
Biber Jan 11, 2012 at 18:22:06 (UTC)
Goto Top
Zitat von @zwoelf:
Bei deiner Variante müsste ich da alle pfade zu den unterordnern angeben?
Nein.
Member: zwoelf
zwoelf Jan 11, 2012 at 18:50:22 (UTC)
Goto Top
aso ok ist alles ok geht wunderbar viel Dank an euch

MFG
zwoelf