PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VBScript Einzeiler: Bitte um Erklärung


Gast64
2009-05-20, 16:45:25
Ich habe hier ein VBScript, das in einer Batch-Datei verwendet wird.


set "Mo=%temp%\Morgen.vbs"

echo w=Weekday(Date):m=DateAdd("d",(w^>5)*(w-8)-1,Date):WScript.Echo Right(m,4)^&Mid(m,4,2)^&Left(m,2)>"%Mo%"

Kann mir das einer erklären? Ich verstehe es nicht :(

Sephiroth
2009-05-20, 20:15:05
Das VBScript lautet
w=Weekday(Date)
m=DateAdd("d",(w>5)*(w-8)-1,Date)
WScript.Echo Right(m,4)&Mid(m,4,2)&Left(m,2)

Zeile 1
w ist der aktuelle Tag der Woche, wobei hier bei Sonntag angefangen wird zu zählen. Für den Mittwoch wäre w=4

Zeile 2
Zum aktuellen Datum werden, in Abhängikeit vom aktuellen Wochentag w, einige Tage addiert/subtrahiert und das Ergebnis in m gespeichert
Der Ausdruck w>5 ist wahr und liefert den Wert -1 (ist bei VBS die Konstante für True), wenn der aktuelle Wochentag Freitag oder Samstag ist. Andernfalls ist w>5 falsch und hat den Wert 0.
Folglich wird für die Tage Sonntag bis Donnerstag ein Tag vom aktuellen Tag abgezogen. Für Freitag wird 1 Tag addiert und für Samstag passiert nichts.

Zeile 3
Es wird das in m gespeicherte Datum in der Form JJJJMMTT ausgegeben.

Gast64
2009-06-03, 18:03:07
Hallo Sephiroth

nachträglich noch danke für die super Erklärung :)