PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SMS-Alarmierung / Batch-File



Tobias
14.04.2002, 12:59
Hallo,

nachdem ich es mehrmals angekündigt hatte, hier nun der Source-Code von Tim:

@echo off

:Generell
if exist c:\windows\temp\xyz.cpy GOTO Umgehung
xcopy "c:\programme\fms32\xyz.cpy" c:\windows\temp
PROGRAMM1.EXE
PROGRAMM2.EXE
PROGRAMM3.EXE
[...]
GOTO Ende

:Umgehung
del c:\windows\temp\xyz.cpy
GOTO Ende

:Ende
exit

Erläuterungen:

@echo off

:Generell
if exist c:\windows\temp\xyz.cpy GOTO Umgehung

Es wird überprüft, ob eine Datei (hier xyz.cpy) in einem bestimmten Verzeichnis existiert. Diese Datei kann jedes Format haben. Sinnvoll wäre z.B. wenn die Batch-Datei 1-11-1.bat heisst, die dazugehörige Datei 1-11-1.cpy zu nennen.

Wwenn die Datei in dem abgefragten Verzeichnis existiert, springt das Batchfile zu _Umgehung, ansonsten geht es weiter:

xcopy "c:\programme\fms32\xyz.cpy" c:\windows\temp

Die Datei wird in das Verzeichnis kopiert.

PROGRAMM1.EXE
PROGRAMM2.EXE
PROGRAMM3.EXE
[...]

Die Programme (z.B. SMSCOM) werden gestartet

GOTO Ende

Er geht zum Ende der Datei und überspringt :Umgehung

:Umgehung
del c:\windows\temp\xyz.cpy
GOTO Ende

Er löscht die Datei wieder.

:Ende
exit

Prinzip:

Da eine 5-Tonfolge immer doppelt ausgelöst wird, musste eine Möglichkeit geschaffen werden, die doppelte Alarmierung per SMS zu unterbinden.

Beim ersten Dekodieren der 5-Tonfolge überprüft er, ob die Datei in dem Temp-Verzeichnis existiert, da ist sie nicht vorhanden, also kopiert er sie dahin und führt die Programme aus.

Beim zweiten Dekodieren der Tonfolge wird das Batchfile die Datei finden und löschen, es erfolgt kein Start der Programme. Somit kein doppelte SMS-Alarmierung.

drk-funkvermittlung
27.06.2002, 19:09
Hi,

ich habe mir darüber auch mal Gedanken gemacht und bin zu folgender Batch-Routine gekommen:

@echo off
cd c:\smsxpress
IF NOT EXIST sms.exe GOTO ende
ren sms.exe smsxpress.exe
c:\smsxpress\smsxpress 01721234567 p D2_Vodafone 12345 Alarm Kleinschleife
ren smsxpress.exe sms.exe
:ende

Warum ich das so mache? Ab und zu kommt es auch vor, dass FMS32 nur einmal die Tonfolge auswertet, wenn man also die andere Batch-Routine verwendet würde die nächste Alarmierung nicht funktionieren. Auch kann es vorkommen, dass man so günstig liegt, dass eine Alarmierung 6 mal empfangen wird (wie bei mir) da würde dann die SMS 3 mal rausgehen, was man ja vermeiden will.
Manch einer denkt sich nun vielleicht, dass bei meiner Batch-Routine die Datei sofort wieder umbenannt wird und dadurch wieder mehrere SMS gesendet werden würden, das ist aber nicht der Fall, da smsxpress für etwa 20 Sekunden geöffnet ist und erst wenn das Programm smsxpress wieder geschlossen ist, erfolgt eine erneute Alarmierung.

Gruß TOBI