jens4ever
Goto Top

Voller Zeitstempel mit Batch

Moin zusammen,

dieser Code aus dem Internet ermöglicht es eine Datei mit einem Zeitstempel zu versehen.

For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set mydate=%%b-%%a-%%c)  
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)  
copy "C:\webcam.jpg" "C:\webcam%mydate%%mytime%.jpg"  

Dies ergibt eine Datei die z.B. "webcam-01.08.2014-2125.jpg" heißt.

Ich dachte mir, dass ich also, wenn die Formatierung des Datums ändern will, ich nur die Variablen bei set mydate umändern muss. Leider nicht.

Aktuell "webcam-01.08.2014-2125.jpg" -> DD.MM.YYYY-HHMM
Ich möchte aber "webcam-2014.08.01-2125.jpg" -> YYYY.MM.DD-HHMM

Ich dachte also ich müsste aus
set mydate=%%b-%%a-%%c
set mydate=%%c-%%a-%%b
machen. Datum bleibt aber gleich bzw. ist weg.

Kann mir jemand den alles entscheidenden Tipp geben? Ich habe jetzt sicher 60 min probiert und gegooglet.

Danke.
Jens

Content-Key: 245349

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

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: rubberman
Lösung rubberman 01.08.2014 aktualisiert um 22:01:37 Uhr
Goto Top
Hallo Jens,

du hast einen Schnipsel aus dem Internet kopiert und offenbar nicht verstanden, dass er nicht für das deutsche Datumsformat gedacht ist. Teste doch mal mit Punkt als Delimiter, statt dem Schrägstrich.

BTW:
WMIC bietet universellere Möglichkeiten. Falls du Interesse hast:
for /f "skip=1 delims=." %%d in ('WMIC OS Get LocalDateTime^|findstr .') do set "timestamp=%%d"  
echo %timestamp%
Natürlich kannst du die Variable per Stringmanipulation beliebig neu zusammensetzen...

Grüße
rubberman
Mitglied: Jens4ever
Jens4ever 01.08.2014 um 22:01:31 Uhr
Goto Top
Hallo Rubbermann,

danke für den Tipp. Jetzt geht es.

funktionierender code:
For /f "tokens=1-3 delims=. " %%a in ('date /t') do (set mydate=%%c.%%b.%%a)  
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)  

Dies ergibt webcam-2014.08.01-2159.jpg

Danke.
Jens