Hier ist die korrigierte Version:
Dieser Guide setzt voraus, dass alle Schritte des Guides "Alle Computer gleichzeitig hochfahren" bereits durchgeführt wurden.
Im Folgenden wird erklärt, wie man einstellen kann, dass an normalen Werktagen Aposoft am Server sowie alle Computer in der Apotheke zu einer voreingestellten Zeit hochfahren sollen. Dabei wurde berücksichtigt, dass dies nicht an Feiertagen und Sonntagen passiert.
Wir legen eine Textdatei (.txt) an und schreiben Folgendes hinein:
@echo off
setlocal enabledelayedexpansion
rem Definiere das Jahr
set "year=%date:~6,4%" rem Erhalte das aktuelle Jahr aus dem Systemdatum
set "today=%date:~0,10%" rem Erhalte das aktuelle Datum im Format TT.MM.JJJJ
rem API-URL für Feiertage
set "url=https://feiertage-api.de/api/?jahr=%year%&nur_land=NI"
rem Feiertage abrufen und in einer temporären Datei speichern
curl -s "%url%" -o "feiertage.json"
rem Überprüfe, ob die Datei existiert
if not exist "feiertage.json" (
echo Fehler beim Abrufen der Feiertagsdaten. Bitte überprüfen Sie Ihre Internetverbindung.
exit /b
)
rem Feiertage durchlaufen und prüfen, ob heute ein Feiertag ist
set "is_holiday=0"
for /f "tokens=*" %%i in (feiertage.json) do (
echo %%i | findstr /i "%today%" >nul
if !errorlevel! equ 0 (
set "is_holiday=1"
)
)
rem Entferne die temporäre Datei
del "feiertage.json"
rem Überprüfe, ob es ein Feiertag ist
if !is_holiday! equ 1 (
echo Feiertag erkannt - daher wird APOSOFT nicht gestartet.
) else (
echo APOSOFT wird gestartet, da kein Feiertag vorliegt.
start "" "F:\Aposoft\Programme\APOSOFT.EXE"
)
rem Fenster 10 Sekunden offen halten
timeout /t 10 /nobreak
exit
Achtung: In diesem Beispiel wurde die Feiertags-API für Niedersachsen gewählt. Befindest du dich in einem anderen Bundesland, musst du das „NI“ am Ende der URL gegen das jeweilige Kürzel deines Bundeslandes austauschen.
Die Textdatei wird gespeichert (z. B. auf dem Laufwerk F) und die Endung in „.bat“ umgeändert.
Wir verändern die Batch-Datei, die wir zum Starten der anderen Computer verwenden (siehe Alle Computer automatisch hochfahren):
@echo off
setlocal enabledelayedexpansion
rem Definiere das Jahr
set "year=%date:~6,4%" rem Erhalte das aktuelle Jahr aus dem Systemdatum
set "today=%date:~0,10%" rem Erhalte das aktuelle Datum im Format TT.MM.JJJJ
rem API-URL für Feiertage
set "url=https://feiertage-api.de/api/?jahr=%year%&nur_land=NI"
rem Feiertage abrufen und in einer temporären Datei speichern
curl -s "%url%" -o "feiertage.json"
rem Überprüfe, ob die Datei existiert
if not exist "feiertage.json" (
echo Fehler beim Abrufen der Feiertagsdaten. Bitte überprüfen Sie Ihre Internetverbindung.
timeout /t 10 /nobreak
exit /b
)
rem Feiertage durchlaufen und prüfen, ob heute ein Feiertag ist
set "is_holiday=0"
for /f "tokens=*" %%i in (feiertage.json) do (
echo %%i | findstr /i "%today%" >nul
if !errorlevel! equ 0 (
set "is_holiday=1"
)
)
rem Entferne die temporäre Datei
del "feiertage.json"
rem Überprüfe, ob es ein Feiertag ist
if !is_holiday! equ 1 (
echo Feiertag erkannt - daher werden die Computer nicht hochgefahren.
) else (
echo Es wird versucht, die Computer hochzufahren, da kein Feiertag vorliegt.
start "" C:\Users\Apotheke\Documents\wakemeonlan-x64\WakeMeOnLan.exe /wakeupmulti 7C-52-62-A5-95-7B 4C-52-62-37-51-14 4C-52-62-A5-95-62 91-1B-0E-3B-C8-59 4C-52-22-BC-71-AB FC-7D-D4-42-89-20 FC-4D-D4-42-89-3D FC-6D-D4-42-8A-2E 0C-4B-90-E6-63-2C 00-30-19-1R-3F-FA 00-31-59-1E-41-7A 00-30-51-21-04-7A 00-31-59-1E-3F-FA
)
rem Fenster 10 Sekunden offen halten
timeout /t 10 /nobreak
exit
Diese oben gezeigte Datei ist nur ein Beispiel. Bitte verwende deine eigenen MAC-Adressen und kontrolliere, ob dein „Wake on LAN“-Programm am gleichen Ort installiert ist wie in diesem Beispiel. Auch hier muss die API an dein Bundesland angepasst werden.
Wir möchten die beiden Batch-Dateien automatisch ausführen lassen. Dafür verwenden wir die Windows Aufgabenplanung. Wir erstellen insgesamt zwei Aufgaben (eine für jede Batch-Datei). Ich empfehle, dass die Batch-Datei „Aposoft am Server starten mit Feiertagsüberprüfung“ 20 bis 30 Minuten vor dem Start der anderen Batch-Datei ausgeführt wird.
Viel Erfolg. Bei Fragen gerne melden.
— Jonas El-Hawari 2024/09/28 07:37