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-ID: 286107

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

Budders
Budders 20.10.2015 um 09:12:21 Uhr
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
Meierjo
Lösung Meierjo 20.10.2015 aktualisiert um 10:04:27 Uhr
Goto Top
Hallo

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

Gruss Urs
jan99
jan99 20.10.2015 um 10:05:31 Uhr
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
Budders
Lösung Budders 20.10.2015 aktualisiert um 10:33:44 Uhr
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