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 04.08.2012 um 23:33:33 Uhr
Auslesen der Datei und dann umbennen
tiefer Seufzer
Same procedure as last thread
#842

Content-ID: 189119

Url: https://administrator.de/forum/auslesen-der-datei-und-dann-umbennen-189119.html

Ausgedruckt am: 15.04.2025 um 15:04 Uhr

rubberman
rubberman 04.08.2012 aktualisiert um 23:19:51 Uhr
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
Marc.P.Neumann
Marc.P.Neumann 05.08.2012 um 11:38:56 Uhr
Goto Top
Super Danke !!!

Gibts denn irgendwo sowas zum lernen für Dummys ? Irgendwas zum empfehlen?
rubberman
rubberman 05.08.2012 um 14:10:54 Uhr
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
bastla
bastla 05.08.2012 um 14:24:14 Uhr
Goto Top
Hallo rubberman!

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

Grüße
bastla
rubberman
rubberman 05.08.2012 aktualisiert um 14:42:51 Uhr
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
bastla
bastla 05.08.2012 aktualisiert um 14:53:34 Uhr
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
rubberman
rubberman 05.08.2012 um 14:52:33 Uhr
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
bastla
bastla 05.08.2012 aktualisiert um 14:56:19 Uhr
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