jan99
Goto Top

Zeitstempel mit führenden Nullen in den Stunden vor 10

Moin !

ich generiere einen Zeitstempel wie folgt:

FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a
set zeit=%time%
FOR /F "tokens=1,2 delims=: " %%a in ("%zeit%") do set TIMESTAMP=___%%a-%%b
for /F "delims=: tokens=3" %%i in ("%zeit%") do set sekvoll=%%i
for /F "delims=, tokens=1" %%i in ("%sekvoll%") do set sekunde=%%i
set Zeitstempel=%CDATE%%TIMESTAMP%-%sekunde%


Wenn ich eine Uhrzeit von vor 10 Uhr habe, dann wird derzeit keine führende Null geschrieben.

Beispiel:
2015-10-20___8-16-13___EBL.SERVICE__tappenbeckja.zip

Kann man das irgendwie beheben ?

Gruß Jan

Content-Key: 286107

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

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

Member: Budders
Budders Oct 20, 2015 at 07:12:21 (UTC)
Goto Top
Du könntest anstatt %time% zu verwenden um die Stunden + Minuten raus zu filtern time /t benutzen, dies gibt die Uhrzeit mit führender 0 aus face-smile
Member: Meierjo
Solution Meierjo Oct 20, 2015 updated at 08:04:27 (UTC)
Goto Top
Hallo

for /f "tokens=1,2 delims=: " %%A in ('time /t') do set Zeit=%%A_%%B
(Zeit=09_30)

Gruss Urs
Member: jan99
jan99 Oct 20, 2015 at 08:05:31 (UTC)
Goto Top
Moin !

erst einmal soweit Danke - leider habe ich das Prinzip an dieser Stelle noch nicht ganz verstanden und deshalb die Frage zum Beispiel von URS:

Wie kann man die Sekunden da auch noch mit ausweisen ?

Gruß Jan
Member: Budders
Solution Budders Oct 20, 2015 updated at 08:33:44 (UTC)
Goto Top
Das müsste man dann in 2 Schritten machen (wie du es oben schon tust), da time/t welches auch Urs verwendet keine Sekunden ausgibt.

FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a  
set zeit=%time%
FOR /F "tokens=1,2 delims=: " %%a in ('time/t') do set TIMESTAMP=___%%a-%%b  
for /F "delims=: tokens=3" %%i in ("%zeit%") do set sekvoll=%%i  
for /F "delims=, tokens=1" %%i in ("%sekvoll%") do set sekunde=%%i  
set Zeitstempel=%CDATE%%TIMESTAMP%-%sekunde%

so sollte das funktionieren face-smile

#EDIT

Eine Zeile könntest du dir noch komplett sparen, indem du für die Sekundenabfrage einen zweiten Delimiter benutzt. So in etwa:

FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a  
set zeit=%time%
FOR /F "tokens=1,2 delims=: " %%a in ('time/t') do set TIMESTAMP=___%%a-%%b  
for /F "delims=:, tokens=2" %%i in ("%zeit%") do set sekunde=%%i  
set Zeitstempel=%CDATE%%TIMESTAMP%-%sekunde%

Mit freundlichen Grüßen Budders