Original geschrieben von fwp
Der Fehler liegt darin, daß Du bei der ersten Abfrage wenn Du die entsprechende "Adresse 1" gefunden hast zur Abfrage "Adresse 2" weitergehst. Da diese dann nicht gefunden wird, gehst zur Abfrage "Adresse 3" weiter. Da diese dann logischerweise auch nicht gefunden wird, gehst Du zum Ende. Analgo ist es mit "Adresse 2". Nur wenn du "Adresse 3" suchst, wirst Du bei dieser Form der Batchdatei erfolg hben.
Um dieses Problem zu beseitigen, mußt Du die Abfragen dergestallt ändern, daß Du immer bei Erfolg zur Marke ":sms" verzweigst. bei Nichterfolg wird dann automatisch die nächste Abfrage ausgeführt.
Also statt
if errorlevel==1 goto weiter...
jeweils
if errorlevel==0 goto sms
in die Batchdatei schreiben, dann sollte der gewünschte Erfolg eintreten.
Auch damit wird es nicht funktionieren.
Die Prüfung der Errorlevel muss mit Prozentzeichen sein!!!!!!
if %errorlevel%==1...
Die Batch kann zum Beispiel so ausschauen:
@echo off
CD C:\Eigene~1\POCSAG\POC32\
echo %3 [siehe unten] >> alarm_rtw.txt
start C:\Windows\sndrec32.exe /play /embedding C:\Eigene~1\POCSAG\POC32\alarm_rtw.wav
find /i "Adresse 1" alarm_rtw.txt
if %errorlevel%==0 goto sms
find /i "Adresse 2" alarm_rtw.txt
if %errorlevel%==0 goto sms
find /i "Adresse 3" alarm_rtw.txt
if %errorlevel%==0 goto sms
goto ende
:sms
C:\Eigene~1\POCSAG\POC32\ibss.exe ...
:ende
del alarm_rtw.txt
Das "start" vor der IBSS.exe würde ich weglassen, sonst könnte die Datei gelöscht werden, bevor IBSS die SMS geschickt hat.
Verwendest du noch andere Parameter die an die Batch übergeben werden??? Wenn du nur die Adresse übergibst, ist diese der Parameter 1 also %1.
Geändert von felix000 (14.07.2005 um 14:30 Uhr)
Felix
felix[null][null][null]@funkmeldesystem.de