PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Batch-Befehl gesucht



FFW Pietling 2
19.02.2006, 15:54
Gibt es einen Batch-Befehl, der eine gleiche/ähnliche Funktion wie folgende Befehlsabfolge hat?

______________________________________________
:nochmal

D:\Alarmierung\Tools\wait.exe 1

if exist D:\Alarmierung\Reloadsperren\Count120.tmp goto weiter

goto nochmal
______________________________________________

Also der Befehl soll einfach stetig prüfen, ob eine Datei vorhanden ist...


MfG Christoph

felix000
19.02.2006, 16:06
Ich kenn keinen extra Befehl dafür, wieso benutzt du nicht dein Beispiel????

Schreib doch einfach mal was du machen willst, dann finden wir evtl. eine Lösung...

FFW Pietling 2
19.02.2006, 16:51
Ich kenn keinen extra Befehl dafür, wieso benutzt du nicht dein Beispiel????

Schreib doch einfach mal was du machen willst, dann finden wir evtl. eine Lösung...

Wie gesagt, der Befehl soll so oft wie möglich überprüfen, ob eine Datei vorhanden ist. So oft wie möglich deshalb, weil die Datei danach möglichst schnell wieder gelöscht wird/werden soll.
Den genaueren Zusammenhang kann ich jetzt nicht erklären, wär zu kompliziert.


EDIT: Mal blöd gefragt, wen ich den WAIT-Befehl weglasse, dann dürfte er ja ständig überprüfen. Aber ist dies überhaupt zu empfehlen bez. CPU-Auslastung usw.?

felix000
19.02.2006, 20:52
Natürlich kannst du den WAIT-Befehl weglassen, aber dann wird der PC vermutlich nix anderes mehr machen, da die Batch ihn vollkommen auslastet...

Wenn das Ganze mit deiner manuellen Alarmierung zusammenhängt, dann solltest du auf die Lösung mit dem lokalen Windows-Apache zurückgreifen.

DLK23/12
19.02.2006, 20:58
Ein bischen mehr infos wären schon hilfreich!!!!!!!!!!!!!!!
Wenn es um Pocsac geht könntest du den Feldstärkenalarm als Auslöser nehmen um die Datei zu suchen/löschen, etc. aber um wirklich kreativ zu sein bräuchte man schon ein paar infos mehr..

Tobias
19.02.2006, 21:13
Hallo,

auch mir fällt da mir kein anderer Befehl ein. Aber beschreib mal dein Problem, denn vielleicht kann man es mit einem anderen Ansatz lösen.

FFW Pietling 2
19.02.2006, 21:53
Hallo,

auch mir fällt da mir kein anderer Befehl ein. Aber beschreib mal dein Problem, denn vielleicht kann man es mit einem anderen Ansatz lösen.

Also es geht um die Batch-Dateien bei der SMS-Alarmierung. Ziel ist, dass ich/wer anders nach zwei Minuten nochmals eine SMS bekomme, in der die zusätzlich alarmierten Wehren stehen.
Bis jetzt hab ich einfach jeweils einen WAIT-Befehl von 120 Sekunden eingebaut. Wenn aber nun FeuerwehrD erst nach z.B. 90 sekunden alarmiert wird und die Batch dann nochmals 120 Sekunden wartet, dann bekommt der Feuerwehrmann von FeuerwehrD die SMS erst nach 210 Sekunden.

Also brauche ich sozusagen einen "überörtlichen" WAIT-Befehl. Und der sieht so aus (und wird von der ersten Batch gestartet, die anderen Aufrufe werden mittels Reloadsperre geblockt)

-------Count120.bat-------

Wait 120
echo temp > 120.tmp
exit

-------Count120.bat-------

Und damit die Batches wissen, wann die 120 Sekunden abgelaufen sind, sollen sie so oft es geht schauen, ob die 120.tmp vorhanden ist.

EDIT: "So oft es geht" deswegen, weil die Feuerwehr-Batches (nachdem sie die "Weitere"-SMS verschickt haben) die 120.tmp sofort wieder löschen, um sozusagen den Ausgangszustand für neue Alarmierungen wiederherzustellen.

Tobias
19.02.2006, 23:32
Hallo,

OK - das Prinzip hab ich verstanden - den Sinn aber irgendwie noch nicht. Wieso soll das Teil 120 Sekunden warten? Würde sich nicht ggf. ein geplanter Task (der natürlich neutral sein müsste) anbieten, der alle paar Minuten ein Batch-File aufruft, welches dann die Existenz der TMP-Datei überprüft?

Dieses Batch-File kannst du ja soweit individualisieren, dass sie TMP-Datei einen bestimmten Namen hat und der geplante Task von daher weiß, welche Feuerwehr alarmiert wurde.

Also wie gesagt, so genau hab' ich noch net verstanden, was wann gemacht werden soll, aber vielleicht hilft dir der Tipp mit dem Taskplaner weiter (der ist natürlich bei Win98 nicht dabei).

FFW Pietling 2
20.02.2006, 11:43
Also nochmal: Ziel ist, einen neutralen WAIT-Befehl zu haben. Die erste Batch (=1.Alarmierte FFW) ruft die Count120.bat auf. Die Aufrufe der folgenden Batches werden mittels Reloadsperre geblockt.
Für die erste Batch ist der Aufruf der Count120.bat und der daraufhin folgenden ständigen Überprüfung nach der tmp-Datei eigentlich nichts anderes als ein WAIT120. Für die Batch, welche z.B. erst nach 30 Sekunden gestartet (=FFW alarmiert) wird, ist es dann nur noch ein WAIT90, da ja dann die Count120.bat schon 30 Sekunden gezählt hat und folglich nur noch 90 Sekunden zählt, bis die tmp-Datei erstellt wird.

Wie das mit der SMS für die weiteren FFWs funktioniert, das steht auf einem ganz anderen Blatt, es ging hier rein um so einen neutralen Wait-Befehl.

Es sind deswegen 120 Sekunden, weil man davon ausgehen kann, dass nach dieser Zeit auch bei Großalarmierungen alle 5-Ton-Folgen raus sind.

MfG Christoph

Tobias
20.02.2006, 12:34
Hallo Christoph,

sorry - aber da kann ich dir net helfen. Einen Befehl dafür gibt es direkt nicht und wie mir jetzt scheint, hab ich das Prinzip doch nicht verstanden, an dem du da sitzt.

Also: Die Feuerwehr A wird alarmiert, du willst eine SMS über die Alarmierung bekommen. Parallel soll aber ein Script laufen, dass eventuell weitere vorhandene Alarmierungen sammelt und nach 2 Minuten abschickt, richtig? Und die Wait-Befehl soll dynamisch sein, damit der Faktor mit 2 Minuten erhalten bleibt und durch folgende Alarmierungen nicht immer weiter nach hinten rückt?

FFW Pietling 2
20.02.2006, 12:51
So ungefähr... ;-)

Naja macht nichts. Ich werde mal schaun, wie ich das letztesnlich realisiere.


MfG Christoph