androxin
Goto Top

Simples Programm, wenig Anforderungen - Sollte es ein Batch-Script werden?

Moin,

ich benötige ein Windows Progrämmchen, welches mit ein paar Argumenten aufgerufen werden kann, ein klein wenig im Dateisystem schreibt/liest und automatisch alle fünf Minuten ein UDP Paket über das Netzwerk absetzt.

Grundsätzlich ist es egal mit welcher Programmiersprache das ganze umgesetzt wird. Die Anforderungen sind so simpel, dass es sich sogar mit einem 20 Zeilen Batch-Skript umsetzen ließe. Diese Lösung präferiere ich momentan auch.

Allerdings bin ich mangels Erfahrung ein wenig unsicher, wie es sich mit der "alle fünf Minuten"-Funktion verhält.
Ist es praktikabel ein Batch-Script in einer Dauerschleife laufen zu lassen und den fünf Minuten Rhythmus z. B. mittels sleep.exe zu implementieren?

Abgesehen vom Start/Neustart würde ich gerne auf den Windows Taskmanager verzichten.

Content-ID: 282485

Url: https://administrator.de/contentid/282485

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

nextized
Lösung nextized 10.09.2015 aktualisiert um 10:41:09 Uhr
Goto Top
Schreiben und lesen mag mit Batch ja problemlos funktionieren, aber zum versenden des UDP-Packets benötigst du eine Zusatzanwendung (das kann Batch leider nicht nativ).

Zum starten der Anwendung geistern genügend Programme (bzw. Anleitungen) für Windows herum. Das einschläfern mittels Sleep.exe kann ich dir hingegen nicht empfehlen.

Mit freundlichen Grüssen

nextized
emeriks
emeriks 10.09.2015 um 10:23:41 Uhr
Goto Top
Hi,
ach - man kan mit der sleep.exe den Rechner endgültig einschläfern?

E. face-wink
nextized
nextized 10.09.2015 um 10:26:32 Uhr
Goto Top
Ne, aber der Anwendung ein Wiegenlied singen.
114757
Lösung 114757 10.09.2015 aktualisiert um 10:41:04 Uhr
Goto Top
Moin.
Ein Skript in einer Dauerschleife laufen zu lassen ist immer ein gewisses Risiko wenn sich das Skript unerwartet beendet. Bei einem Skript das regelmäßig über den Taskplaner anläuft hat man dieses Risiko nicht da es beim nächsten Zyklus wieder von neuem gestartet wird, was bei einem "Sleep"-Skript nicht der Fall ist. Hier müsste man dann zwangsläufig einen Watchdog implementieren der zusätzlich regelmäßig überprüft ob das Skript überhaupt noch läuft. Ist also im Endeffekt mehr Aufwand und daher nicht zu empfehlen.

Zum Thema Netzwerkpakete versenden: Nimm Powershell das kann das durch die Abstammung vom .NET Framework alles bereits out-of-the-box.

Gruß jodel32
emeriks
Lösung emeriks 10.09.2015 aktualisiert um 10:41:01 Uhr
Goto Top
Hier müsste man dann zwangsläufig einen Watchdog implementieren der zusätzlich regelmäßig überprüft ob das Skript überhaupt noch läuft. Ist also im Endeffekt mehr Aufwand und daher nicht zu empfehlen.
Wieso? Das ist doch bei der geplanten Aufgabe schon von Haus aus dabei: Unter "Einstellungen" --> "Folgende Regel anwenden, falls die Aufgabe bereits ausgeführt wird:" --> "keine neue Instanz starten"
Androxin
Androxin 10.09.2015 um 10:40:45 Uhr
Goto Top
Vermutlich ist es tatsächlich am einfachsten SCHTASKS direkt im Script zu verarbeiten.

Vielen Dank für die Hinweise.
114757
114757 10.09.2015 aktualisiert um 10:42:55 Uhr
Goto Top
Zitat von @emeriks:
Wieso? Das ist doch bei der geplanten Aufgabe schon von Haus aus dabei: Unter "Einstellungen" --> "Folgende Regel anwenden, falls die Aufgabe bereits ausgeführt wird:" --> "keine neue Instanz starten"
Es ging mir bei der Aussage nur um den Fall einer dauerlaufenden Batch die nicht über den Taskplaner gestartet wird ! Was der TO ja aus welchem Grund auch immer vermeiden will ...