05.08.15

[How-To] Timestamp mit führenden Nullen erzeugen

Will man Dateien mit einem Timestamp versehen (Logfiles, Backups, etc.), bekommt man spätestens dann Probleme, wenn man die Uhrzeit in den Timestamp einfügen will und es vor 10:00 Uhr ist.

Cmd entfernt bei der Stunde die führende Null und ersetzt sie durch ein Leerzeichen, was dazu führt, das Skripte aufgrund eines Syntaxerrors abbrechen.

Um dies zu umgehen, kann man sich mit einer Batchdatei behelfen, die wiederum das Leerzeichen durch eine Null ersetzt.

:prepare timestamp
set year=%date:~6,4%
set month=%date:~3,2%
set day=%date:~0,2%
set hour=%time:~0,2%
:fuehrendes Leerzeichen durch 0 ersetzen - Stunden kleiner 10
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
set minute=%time:~3,2%
set timeStamp=%year%-%month%-%day%_%hour%-%minute%


Dies kann man nun als Batchdatei speichern und mittels Call aus anderen Batchdateien heraus aufrufen. So muss man dies nur einmalig zentral konfigurieren, anstatt in jeder Batchdatei auf's Neue.

Bsp.:


@echo OFF
call tmstmp.bat
example.exe /install /silent /log:install_%timeStamp%.txt

Keine Kommentare: