Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 29

Thema: Schleifendifferenzierung

  1. #1
    Registriert seit
    24.12.2005
    Beiträge
    59

    Schleifendifferenzierung

    Hallo zusammen!
    Ich habe folgendes Problem:
    Wir haben in unserer Feuerwehr insgesamt 3 Schleifen.
    Wir wollen nun auch eine Alarm-SMS verschicken.
    Dazu wollte ich eine Batch-Datei schreiben, habe auch schon angefangen, aber leider funzt das ned so wie ich es will.
    Hier mal meine Idee:
    wenn 1.schleife ausgelöst--warten auf weitere schleifen, wenn keine weitere schleife, dann sms, wenn 2.schleife dann warten ob 3.schleife, wenn nicht dann sms, wenn 2.schleife nicht und 1. und 2. schleife dann auch sms.
    Hab die Batch-Datei geschrieben, aber irgendwie verschickt er mir dann immer ne sms, wurscht was ausgelöst wurde. Ausgelöst wird die Batch über FMS32, welches wiederum eine Batch startet, die dann in einem Ordner die dateien "schleife1.txt" etc. erzeugt. Diese Dateien sollen geprüft werden und dann nach alarmierungsbild die sms verschicken, ohne vielen Schnickschack.
    Kann mir evtl. jemand einen Tipp für die Entwicklung geben bzw einen Programmiertext, bei mir kann ne goto verknüpfung irgendwie nur auf externe Dateien zugreifen.
    Oder hat vielleicht soetwas schon irgendjemand mal gemacht?
    Wäre nett wenn ihr mir helfen könntet!

    Frohe Weihnachten!

    Gruß

    Miles

  2. #2
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Poste bitte mal deine Batchdatei.
    Felix
    felix[null][null][null]@funkmeldesystem.de

  3. #3
    Registriert seit
    24.12.2005
    Beiträge
    59
    Edit: Batch nicht mehr aktuell....
    Geändert von Miles (14.01.2010 um 22:34 Uhr)

  4. #4
    Registriert seit
    24.12.2005
    Beiträge
    59
    Was ist los?
    Seid ihr alle so mit brennenden Christbäumen beschäftigt, oder ist meine Batch so falsch, das man dazu überhautp nichts sagen kann?

  5. #5
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Sorry, ich hab den Threat übersehen.

    Ich versteh die Zeile überhaupt nicht: :a="wait5

    Ich hab sowas bei mir auch laufen ich poste es mal:

    Code:
    @echo off
    CD C:\Funk\IBSS
    
    FOR /F "usebackq tokens=1,2,3 delims=: " %%a IN ('%time%') DO set zeit=%%a:%%b
    if exist temp.txt goto schreiben
    
    echo Alarmierung %Zeit% - Schleifen:
    rem Text in der SMS vor den Schleifen
    echo %1,>>temp.txt
    
    wait 120
    rem Wartezeit in der die 3 Schleifen ausgelöst werden können
    
    find "12345" temp.txt
    if %ERRORLEVEL%==0 goto senden
    find "12346" temp.txt
    if %ERRORLEVEL%==0 goto senden
    find "12347" temp.txt
    if %ERRORLEVEL%==0 goto senden
    
    :schreiben
    echo %1,>>temp.txt
    goto ende
    
    :senden
    IBSS.exe ... /F:temp.txt
    goto loeschen
    
    
    :loeschen
    if exist temp.txt del temp.txt
    
    :ende
    Geändert von felix000 (26.12.2005 um 15:49 Uhr)
    Felix
    felix[null][null][null]@funkmeldesystem.de

  6. #6
    Registriert seit
    24.12.2005
    Beiträge
    59
    Das :a=wait5 geht weiter bis zum nächsten Anführungszeichen, d.h. es beeinhaltet die IF-Abfrage auchnoch.

    Hab da nochmal einige Fragen zu deiner Batch-Datei:
    1. Wenn alle 3 Schleifen ausgelöst werden, werden dann auch 3 sms verschick, bei 2 Schleifen 2 etc.

    2. if exist temp.txt goto schreiben
    .....
    echo Alarmierung %Zeit% - Schleifen:
    rem Text in der SMS vor den Schleifen
    echo %1,>>temp.txt

    :schreiben
    echo %1,>>temp.txt
    goto ende

    Warum lässt du einen Text zweimal in den SMS-Inhalt schreiben?
    Wenn die Datei temp.txt existiert, was sie wohl tut wenn alarmiert wird, soll etwas in die Datei geschrieben werden und wenn die Schleifen kommen dann auch nochmal. Kannst du mir bitte den Sinn erklären, irgendwas musst du dir wohl dabei gedacht haben.
    3. Die Zeile mit dem FOR /f ist nur für die Zeit zuständig, wie ich das gesehen habe, oder wird da auch no sonst was abgerufen??
    4. Bei mir wird sobald die Zeile gefunden wurde hingeschrieben das das Ereignis wahr ist, aber es löst das Programm nicht aus. Habe den Programmpfad geändert, weil meiner anders ist!

    Danke für deine Hilfe und für deine Batch Datei

    Grüße
    Miles



    Geändert von Miles (26.12.2005 um 18:15 Uhr)

  7. #7
    Registriert seit
    24.12.2005
    Beiträge
    59
    Edit: Batch nicht mehr aktuell!
    Geändert von Miles (14.01.2010 um 22:33 Uhr)

  8. #8
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Dann füg nach dem Programmstart ein 'goto ende' ein.
    Felix
    felix[null][null][null]@funkmeldesystem.de

  9. #9
    Registriert seit
    24.12.2005
    Beiträge
    59
    Danke, das haut jetzt hin!
    Aber wie löse ich das Problem, das wenn ich auch nur eine Schleife alarmiere, immer alle Programme gestartet werden, ich will aber nur das bei 2 schleifen 2 Programme, bei 1 Schleife 1 Programm und bei 3 Schleifen 3 Programme gestartet weden bzw sms verschickt werden??

  10. #10
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Poste nochmal deine Batch.
    Felix
    felix[null][null][null]@funkmeldesystem.de

  11. #11
    Registriert seit
    24.12.2005
    Beiträge
    59
    Mein momentaner Stand is die die ich oben gepostet habe. Das ist ja im großen und ganzen deine, die nur ein wenig an meine Verhältnisse angepasst habe. Statt den Programmen bei send1, send2,send3 wird nun eine batch gestartet, die das SMS-Tool steuert. So läuft sie wunderbar, nur das oben geschilderte Problem lässt sich mir nicht erklären. Schau dir doch mal die Fragen an, die ich dir oben gestellt habe, villeicht liegt darin ja der Fehler, weil ich davon einen Teil einfach rausgelöscht habe, weil ich dachte das sei für mich irrelevant. Trotzdem super idee, mit dem suchen der Schleifen in der Textdatei!! Darin liegt m.E. auch irgendwo der Fehler! Finde ihn nur leider ned! :-(

    Danke!

    Miles

  12. #12
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Ich würde es trennen, eine Batch für die SMS und eine andere für die Progamme, die gestartet werden sollen.

    Allein schon wegen der Wartezeit in der SMS-Batch.
    Felix
    felix[null][null][null]@funkmeldesystem.de

  13. #13
    Registriert seit
    24.12.2005
    Beiträge
    59
    Die Programme laufen eh nur zum testen. Es soll dann ja das SMS- TOOL ausgelöst werden.
    Warum starten alle Programme auch wenn nur eine oder zwei schleifen ausgelöst wurden??

  14. #14
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Geh deine Batch nochmal durch, zum Beispiel des hier

    if exist alarm.txt goto abbruch
    ...
    :abbruch
    goto ende
    ...
    :ende


    Wenn schon eine Schleife ausgelöst wurde, soll doch die Schleife trotzdem in der Datei stehen, damit du weißt welche Schleifen ausgelöst wurden. Bei dir wird aber ei einer weiteren Schleife die Batch sofort beendet ohne irgendwas zu tun.

    Falls du ICQ oder Skype hast, meld dich mal per PN.
    Felix
    felix[null][null][null]@funkmeldesystem.de

  15. #15
    Registriert seit
    24.12.2005
    Beiträge
    59
    Danke, hat sich alles erledigt! Funzt!

    Gruß

    Lukas

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •