Batch-Skript Logout

Lesedauer 3 Minuten
Posted: So. 09.10.2022-19:00Updated: Di. 01.10.2024-19:50

 Dieses kleine Batch-Beispiel speichert das aktuelle Datum und die Zeit inkl. des Wochentags beim Abmelden von einem PC in eine Log-Datei. » Ein Batch-Skript ist eine

Hinweis: Windows macht i.d.R. keinen Unterschied bei der Schreibweise von Befehlen, Groß- Kleinschreibung wird ignoriert, steigert aber die Lesbarkeit.

Die Zeilen [1 – 33] machen das gleiche, wie im Login-Skipt, Variablen für Datums- und Zeitangaben.

CMD CMD – ◻ X
  1. @echo off & setLocal
  2. :: ———————————————————–
  3. :: Skriptname : logout.cmd
  4. :: Beschreibung: Logout speichern und PC ausschalten
  5. :: ———————————————————–
  6. rem chcp 1252
  7. cls
  8. echo.
  9. echo Shutdown
  10.  
  11. :: ——————————————————–
  12. :: Tag, Monat, Jahr und Zeit ermitteln
  13. :: ——————————————————–
  14. set cy=%date:~-4%
  15. set cm=%date:~-7,2%
  16. set cd=%date:~-10,2%
  17. for /F %%i IN (‘time /T’) DO set ct=%%i
  18.  
  19. set now=%cy%%cm%%cd%%ct%
  20. set datum=%cy%%cm%%cd%
  21.  
  22. :: ——————————————————–
  23. :: Wochentagszahl (0-6) in Text umwandeln
  24. :: ——————————————————–
  25. for /f %%g in (‘wmic path win32_localtime get dayofweek ^|findstr /v /r “^$“‘) do (set DOW=%%g)
  26.  
  27. if %DOW%==0 set DOW=So.
  28. if %DOW%==1 set DOW=Mo.
  29. if %DOW%==2 set DOW=Di.
  30. if %DOW%==3 set DOW=Mi.
  31. if %DOW%==4 set DOW=Do.
  32. if %DOW%==5 set DOW=Fr.
  33. if %DOW%==6 set DOW=Sa.
  34.  
  35. :: ——————————————————–
  36. :: Verzeichnis für Log-Datei erstellen, falls nicht vorhanden
  37. :: und als Ziel-Verzeichnis (zv) festlegen
  38. :: ——————————————————–
  39. if NOT EXIST %USERPROFILE%\Lilo mkdir %USERPROFILE%\Lilo
  40. set zv=%USERPROFILE%\LiLo\
  41.  
  42. echo %DOW% %CD%.%CM%.%CY%
  43. echo.
  44.  
  45. echo %NOW% %DOW% Logout >> %zv%\%cy%%cm%_lilo.log
  46.  
  47. echo.
  48. type %zv%\%cy%%cm%_lilo.log | findstr /b %cy%%cm%%cd%
  49.  
  50. :: ——————————————————–
  51. :: Warte 2 Sekunden, dann System herunterfahren
  52. :: -s = Fährt den Computer herunter.
  53. :: -f = Erzwingt das Schließen ausgeführter Anwendungen.
  54. :: -t = Setzt das Zeitlimit vor dem Herunterfahren auf x Sekunden.
  55. :: ——————————————————–
  56. timeout /T 2
  57. c:\windows\system32\shutdown.exe -s -f -t 1
  58.  

Zeile [39] prüft ob im User-Profil das Verzeichnis “LiLo” zum Speichern der Log-Datei vorhanden ist, falls nicht wird es erstellt.

Zeile [40] setzt die Variable (vz) für das Ziel-Verzeichnis als “%USERPROFILE%\LiLo\“.

Zeile [45] schreibt die Variablen %DOW% (Wochentag) %cd%.%cm%.%cy% z.B. 01.01.1970 und Logout in die Log-Datei.

Zeile [48] zeigt auf stdout (Bildschirm) mit findst / b alle Zeilen, die das Tagesdatum am Anfang der Zeile enthalten.

Zeile [56] läßt das System 2 Sekunden warten, hier ist noch die Möglichkeit das Skript abzubrechen.

Zeile [57] fährt das System herunter und schaltet es aus.


Damit man das System nun bequem herunterfahren kann, braucht es noch einen “Schalter”. Dafür ist der Schnellste Weg eine Verknüpfung auf den Desktop zu erstellen.

  1. Rechtsklick auf eine freie Stelle im Desktop und Neu -> Verknüpfung …
  2. Hier den Pfad zum neuen Skript einfügen z.B. %USERPROFILE%\Batches\logout.cmd
  3. Rechts Klick auf die Verknüpfung und Eigenschaften wählen.

Die 197001_lilo.log Datei sieht dann wie folgt aus …

197001_lilo.log197001_lilo.log

Dieser Beitrag wurde bisher 181 mal gelesen.