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

Printed on: April 20, 2024 at 02:04 o'clock

Member: rubberman
Solution rubberman Aug 01, 2014 updated at 20:01:37 (UTC)
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
Member: Jens4ever
Jens4ever Aug 01, 2014 at 20:01:31 (UTC)
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