Die klassische Command-Shell in Windows ist funktional sehr eingeschränkt. Trotzdem bietet sie für viele Aufgaben eine leicht beherrschbare Automatisierung durch einfache Kommando-Stapel – oder bekannter: Batches. Eine der fehlenden Funktionen betrifft den Umgang mit Datums- und Zeitangaben.
Möchte man das aktuelle Datum und die aktuelle Zeit in einem Batch verwenden, z.B. um Dateien oder Ordner nach dem Zeitstempel zu benennen, so helfen folgende FOR-Funktionen. Sie sind hier auf das deutsche Datumsformat abgestimmt, verwenden also den Punkt (beim Datum) bzw. den Punkt, den Doppelpunkt und das Komma (bei der Zeit) als Trenner. Wer eine andere Regionaleinstellung verwendet, passt diese Trennzeichen entsprechend an.
for /f "tokens=1-4 delims=. " %%i in ("%date%") do ( set day=%%i set month=%%j set year=%%k ) for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do ( set hour=%%i set minute=%%j set second=%%k set hundredth=%%l )
Die einzelnen Teile der Zeit- und Datumsangabe finden sich dann in den verschiedenen Variablen. Um sie in einem Ordner zu verwenden, eignet sich etwa folgende Syntax:
SET Ziel=%Drive%\%year%-%month%-%day%-%hour%-%minute% if not exist %Ziel%\. md %Ziel%
http://faq-o-matic.net/?p=3198