marc.p.neumann
Goto Top

Auslesen der Datei und dann umbennen

Hallo !
Hoffe auf eure Hilfe und ja ich habe das Forum vorher durchgelesen. Finde aber keine passende Antwort mit der es gelingt.

Habe viele Datein in meinem Unterverzeichnis nach folgedem Muster:

Variante 1: 00626E4032FF()_1_20120804172115_3245.jpg = Aufgenommen 04.08.2012 17:21:15 Uhr
Variante 2: 00EA21634B5D()_1_20120728212744_3390.jpg = Aufgenommen 28.07.2012 21:27:44 Uhr

Diese befinden sich in vielen Unterverzeichnissen.

Also in den Verzeichnissen sollen sie blieben aber automatisch umbenannt werden nach folgedem Schema:
HH-MM-SS__TAG-MONAT-JAHR.jpg

Kann mir da bitte jemand helfen ?

Grüße

Marc
Kommentar vom Moderator Biber am Aug 04, 2012 um 21:33:33 Uhr
Auslesen der Datei und dann umbennen
tiefer Seufzer
Same procedure as last thread
#842

Content-Key: 189119

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

Printed on: April 19, 2024 at 12:04 o'clock

Member: rubberman
rubberman Aug 04, 2012 updated at 21:19:51 (UTC)
Goto Top
Hallo Marc.P.Neumann!

[OT]
Bibers "Running Gag Counter" wird dich wohl auch diesmal wieder ereilen.
Ich glaube, wenn du dieses Forum nach dem Stichwort "Umbennen" durchsuchst, gibt es mehr Hits als würdest du nach "Umbenennen" suchen. Schon erstaunlich face-wink
[/OT]

Teste:
@echo off &setlocal
for /r %%i in (*.jpg) do (
  for /f "tokens=3 delims=_" %%j in ("%%~ni") do (  
    if "%%j" neq "" (  
      set "file=%%i"  
      set "d=%%j"  
      setlocal EnableDelayedExpansion
        ECHO ren "!file!" "!d:~8,2!-!d:~10,2!-!d:~-2!__!d:~6,2!-!d:~4,2!-!d:~,4!.jpg"  
      endlocal
    )
  )
)
PAUSE

Entferne ECHO und PAUSE, wenn du glaubst es würde funktionieren.

Grüße
rubberman
Member: Marc.P.Neumann
Marc.P.Neumann Aug 05, 2012 at 09:38:56 (UTC)
Goto Top
Super Danke !!!

Gibts denn irgendwo sowas zum lernen für Dummys ? Irgendwas zum empfehlen?
Member: rubberman
rubberman Aug 05, 2012 at 12:10:54 (UTC)
Goto Top
Zitat von @Marc.P.Neumann:
Gibts denn irgendwo sowas zum lernen für Dummys ?

Hallo Marc.P.Neumann!

[_days=3650&id=1101995812#content-6-tab da] und nicht zuletzt dort, sowie [OT]dies[/OT].

Grüße
rubberman
Member: bastla
bastla Aug 05, 2012 at 12:24:14 (UTC)
Goto Top
Hallo rubberman!

Die Variable !file! fällt eigentlich unter "Luxus" ... face-wink

Grüße
bastla
Member: rubberman
rubberman Aug 05, 2012 updated at 12:42:51 (UTC)
Goto Top
Hallo bastla!

Nicht so ganz. Denk mal an das "DelayedExpansion".
Im vorliegenden Fall solltest du aber recht haben, da es unwahrscheinlich ist, dass sich ein '!' im Dateiname verbirgt (aber vielleicht im Pfad?).

Grüße
rubberman
Member: bastla
bastla Aug 05, 2012 updated at 12:53:34 (UTC)
Goto Top
Hallo rubberman!

Eigentlich hatte ich gemeint, dass Du gleich "%%i" verwenden könntest [Edit] - aber Du hast schon recht face-smile - darauf wirkt sich letztlich "delayedexpansion" auch aus [/Edit] ...

Grüße
bastla
Member: rubberman
rubberman Aug 05, 2012 at 12:52:33 (UTC)
Goto Top
Hallo bastla!

Genau das hatte ich auch gemeint face-wink

Zum Test:
@echo off &setlocal
>abc!def.ext type nul
for %%i in (*.ext) do (
  set "file=%%i"  
  setlocal EnableDelayedExpansion
    echo %%i
    echo !file!
  endlocal
)
pause

Grüße
rubberman
Member: bastla
bastla Aug 05, 2012 updated at 12:56:19 (UTC)
Goto Top
Hallo rubberman!

Yep - ist richtig face-smile (und auf jeden Fall vernünftig, die "wassserdichte" Variante zu verwenden, da ja "%%i" einen ganzen Pfad enthält) ...

Grüße
bastla