Windows: weekday.exe – Ein kleines Tool für die Kommandozeile und Skripts

Bei weekday.exe handelt es sich um ein kleines AutoIt-Programm, das ich erstmalig 2008 geschrieben habe. Zwischenzeitlich hat sich viel getan und ich habe das Programm x-Mal (warum auch immer) neu erstellt. Ziel war es immer, ein Kommandozeilen-Tool zu haben, das den aktuellen Wochentag ausgibt. Das Tool soll darüber hinaus in Skripts einsetzbar sein. Also alles in Allem keine große Sache. 

Führt man die Exe-Datei aus, wird schlicht der aktuelle Wochentag in Englisch ausgegeben:

C:\Programme\Backup>weekday.exe
Thursday
C:\Programme\Backup>

Download

weekday.exe

Und hier kurz der Quellcode:

#include <Date.au3>

; Retrieve the long name
$sLongDayName = _DateDayOfWeek( @WDAY )

ConsoleWrite($sLongDayName)

Ja, mehr ist es im wesentlichen nicht. Da es mittlerweile eine UDF (User Defined Function) gibt, gestaltet sich das Ganze extrem einfach.

Beim Kompilieren muss man lediglich darauf achten, das man den Haken bei “Console” aktiviert.

Und wozu braucht man sowas?

Ich verwende es im Rahmen von Datensicherungsskripts. Auf die Art muss man nur einen geplanten Task anlegen. So kann man innerhalb eines Skripts dann festlegen, das z.B. Montags eine Vollsicherung stattfindet.

8 Kommentare

  1. Rene van E

    Hallo, wir benutzen schon länger das weekday.exe Programmchen im Snapshot Sicherungsscript, seit Montag
    stelle Ichaber fest das auf 3 Server ( w2k8R2 ) das Programm von Script aus hängt, wenn Richter Process “weekday.exe” beende läuft das Script weiter. Ich habe MS-Updates im verdacht, die wurden am Wochenende aufgespielt. Frage: haben Sie ein Tipp für mich was ich da machen kann?
    Vielen dank schonmal.
    Mit freundlichen Grüßen
    Rene van E

  2. andy

    Wir haben bislang keine Probleme mit der “weekday.exe” unter Windows Server 2008 R2. Den Verdacht mit den Windows Updates kann ich aktuell nicht bestätigen. Möglicherweise blockiert der Virenscanner das Tool, von daher die Empfehlung entweder alle Programme der Datensicherung oder den Ordner wo diese liegen auszuschließen oder zum Test den Virenscanner mal zu deaktivieren.

    Zur weiteren Eingrenzung könnte man die “weekday.exe” in einer Eingabeaufforderung aufrufen, um zu schauen, ob sie dort ebenfalls “hängen” bleibt oder ein Test-Skript erstellen, das nur den Aufruf der “weekday.exe” wie im Backup-Skript enthält.

  3. andy

    Kleine Ergänzung noch:

    Evtl. den Quellcode mal neu kompilieren, ggf. gleich als 64-bit Exe.

    Zum Thema Virenscanner und AutoIt siehe auch:

    Kompilierte AutoIt-Skripte und die Virenscanner

  4. Rene van E

    Hallo, die Server haben nur gemeinsam das da Citrix Essentials 6.0 läuft, in einer Eingabeaufforderung gibt es kein Problem.

    Ich habe anstatt weekday.exe jetzt erstmal folgendes eingebaut.

    set Weekday=

    for /f %%g in (‘wmic path win32_localtime get dayofweek^|findstr /v /r “^$”‘) do (
    set Weekday=%%g)

    if %Weekday%==0 set Weekday=Sunday
    if %Weekday%==1 set Weekday=Monday
    if %Weekday%==2 set Weekday=Tuesday
    if %Weekday%==3 set Weekday=Wednesday
    if %Weekday%==4 set Weekday=Thursday
    if %Weekday%==5 set Weekday=Friday
    if %Weekday%==6 set Weekday=Saturday

  5. andy

    Ich habe auf einem Windows Server 2012 R2 Standard jetzt das “Hängenbleiben” der weekday.exe als auch weiterer AutoIt-Programme beobachtet. Warum das allerdings so ist und nach aktuellem Stand nur bei Aufgaben geschieht, ist mir (noch) nicht klar.

  6. Rene van E

    Ok Andy, danke für die Info.

  7. andy

    Hallo Rene,

    ich teste gerade den Code (Danke dafür an dieser Stelle). Bei mir läuft’s nur so:

    for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set Weekday=%%g)

    if %Weekday%==0 set Weekday=Sunday
    if %Weekday%==1 set Weekday=Monday
    if %Weekday%==2 set Weekday=Tuesday
    if %Weekday%==3 set Weekday=Wednesday
    if %Weekday%==4 set Weekday=Thursday
    if %Weekday%==5 set Weekday=Friday
    if %Weekday%==6 set Weekday=Saturday

    Nur minimale Unterschiede, ist vmtl. nur copy&paste oder durch WordPress verändert worden.
    Hilfreich ist auf jeden Fall folgender Beitrag:

    WindowsPro: Datum in Batch-Dateien verarbeiten und Wochentag ermitteln

  8. Marco Göbenich

    Bei uns passiert das mittlerweile auch vermehrt auf den Windows 12 R2 Kisten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑