Supportnet Computer
Planet of Tech

Supportnet / Forum / WindowsXP

Variable im Script





Frage

Hallo! Ich habe einen Batch über den Taskplanner laufen. In diesem bat-File wird auch eine Logdatei geschrieben. Der Filename ist derzeit immer gleich, fest hinterlegt. Wer hat eine Idee, wie kann ich im Batch einen variablen Dateinamen (z.B.: yyyymmdd.log) für ein Log-File auf cmd-Ebene in Windows-XP erzeugen. Danke und Gruss RoBu04

Antwort 1 von son_quatsch

Du könntest %DATE%.LOG als Dateiname angeben :-)

Antwort 2 von RoBu04

Vielen Dank.
Ich war mir nicht bewusst, dass im Dateinamen auch mehrere Punkte gültig sind.

z.B.: 17.09.2008.log

Gibt es den auch eine Variante, wie aus dieser Variablen der Monat und das Jahr extrahiert werden kann?

Antwort 3 von son_quatsch

Oja - auch Ordner können Punkte enthalten.

Das Jahr zu extrahieren geht auch - hier besteht allerdings das Problem darin, dass jeder Benutzer auf seinem System selbst einstellen kann, wie ein Datum angezeigt wird (z.B. "17.09.2008" oder "2008-09-17" oder "17.9.2008"...). Die folgende Lösung bezieht sich also bloß auf deinen Fall (Tag und Monat mit führender Null und vierstelliges Jahr, getrennt mit Punkten):

%date:~6,4%-%date:~3,2%-%date:~0,2%.log
Was besagt es?
  1. Nimm von %DATE% ab dem 7en Zeichen und gib mir die nächsten 4 Zeichen.
  2. Bindestrich.
  3. Nimm von %DATE% ab dem 3en Zeichen und gib mir die nächsten 2 Zeichen.
  4. Bindestrich.
  5. Nimm von %DATE% ab dem 0en Zeichen (ja, die Zählung der Zeichen beginnt mit 0, nicht mit 1) und gib mir die nächsten 2 Zeichen.
  6. Punkt.
  7. "LOG".
Dasselbe klappt natürlich auch mit %TIME% oder anderen. Allerdings ist diese "Substring"-Methode erst ab XP möglich, unter 2000 dürfte es vermutlich nicht klappen

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: