Ergebnis 1 bis 9 von 9

Thema: Dumme Frage: Parameter an Batch-Datei übertragen

  1. #1
    Registriert seit
    02.10.2009
    Beiträge
    5

    Dumme Frage: Parameter an Batch-Datei übertragen

    Hallo,

    die Frage ist vielleicht dumm, ich habe nur leider keine große Ahnung davon:

    Ich möchte in FMS32 eine Aktion bei POCSAG Alarmierung starten. Dazu rufe ich unter Aktion des gewünschten Empfängers die Datei alarm.bat auf. Ohne weitere Parameter funktioniert das. Nun möchte ich aber die Textzuweisung zur RIC und den Alarmtext übergeben.

    Habe herausgefunden, dass dies die Parameter %4 und %3 sind. Da dies ggf. Zeichenfolgen mit Leerzeichen sind, sollten sie in " stehen, also z.B. "%4".

    Der Aufruf lautet also:
    c:\...\alarm.bat "%4" "%3"

    Richtig?

    Welche Parameter muss ich dann in der Batch-Datei aufgreifen? Lauten die dann weiterhin %3 und %4 oder sind dass dann (da zwei Parameter) %1 und %2?

    Löse ich die gleiche Batch-Datei manuell aus mit alarm.bat "RTW 1" "Text der Alarmierung", dann word die Datei ausgeführt und funktioniert.

    Hier der Code:

    @ECHO off
    cls
    "c:\programme\Mozilla Firefox\firefox.EXE" http://www.groupalarm.de/webin.php?log_user=000000^&log_pass=000000^&listcode=+3^&free=%1+%2^&flash=1

  2. #2
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    In der Batch musst du %1 und %2 benutzen, weil die Batch einfach durchnummeriert...
    Felix
    felix[null][null][null]@funkmeldesystem.de

  3. #3
    Registriert seit
    02.10.2009
    Beiträge
    5
    Gut, dann habe ich in der Batch alles richtig gemacht.
    Da frage ich mich nun, warum dass nicht funktioniert.

    Wie gesagt, ein Aufruf der Batch aus FMS-Pro ohne die Übergabe von Parametern
    funktioniert. Sobald ich in der Aktion zusätzlich die Parameter übergebe, funktioniert es nicht mehr.

    Der Aufruf mit c:\...\alarm.bat "%3" "%4" ist aber korrekt, oder?

  4. #4
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Aufruf mit "%3" "%4", dann solltest du in der Batch mit %~1 und %~2 arbeiten, da so die " entfernt werden, da könnte das Problem sein...
    Felix
    felix[null][null][null]@funkmeldesystem.de

  5. #5
    Registriert seit
    02.10.2009
    Beiträge
    5
    Die Tilden in der Batch-Datei sind nicht notwendig. Das hätte zur Folge, dass die Leerzeichen entfallen und nur das erste Wort in dem Parameter verwertet werden. Um das zu verhindern setzt man die Parameter beim Aufruf der Batch-Datei ja in Anführungszeichen.

    Beim manuellen Aufruf der Batch funktioniert das, z.B.
    c:\....\alarm.bat 3-83-1 "intern 1 florastrasse"

    Wenn das Script die " entfernt, käme da nur noch 3-83-1 intern raus und der Rest würde abgeschnitten.

    Habe jetzt für den Aufruf nochmal an den Dateinamen im FMS32 die "%4" und "%3" gesetzt. Kommt nun eine Alarmierung rein, flackert ganz kurz das MS-DOS Fenster auf, die Batch wird aber nicht wirklich ausgeführt, jedenfalls wird die Aktion nicht ausgeführt. Wie gesagt, beim manuellen Aufruf oder beim Aufruf über FMS32 *OHNE* die Parameter funktioniert es.

  6. #6
    Registriert seit
    02.10.2009
    Beiträge
    5
    Dämlicher Fehler - jetzt funktioniert es!

    Die Batch-Datei lag in einem Verzeichnis, dessen Name ein Leerzeichen enthielt. Damit kam der wohl nicht zurecht. Nachdem ich die Datei nun auf c:\ gelegt habe, klappt es.

    Danke für die Hilfe! :)

  7. #7
    Registriert seit
    10.12.2003
    Beiträge
    3.902
    Zitat Zitat von blaulicht-tourist Beitrag anzeigen
    Die Tilden in der Batch-Datei sind nicht notwendig. Das hätte zur Folge, dass die Leerzeichen entfallen und nur das erste Wort in dem Parameter verwertet werden. Um das zu verhindern setzt man die Parameter beim Aufruf der Batch-Datei ja in Anführungszeichen.

    Wenn das Script die " entfernt, käme da nur noch 3-83-1 intern raus und der Rest würde abgeschnitten.
    Das stimmt nicht, man muss beim Übergeben die " verwenden um die Leerzeichen zu maskieren, aber beim Aufruf vom Firefox stören die " ja eigentlich und sollten entfernt werden und nur um die URL vorkommen...
    Felix
    felix[null][null][null]@funkmeldesystem.de

  8. #8
    Registriert seit
    02.10.2009
    Beiträge
    5
    Das klappt so. Der Aufruf von Firefox als Programm steht in meiner Batch in ". Die URL selbst, die beim Start aufgerufen werden soll, wird 'pur' üergeben ohne von " eingeklammert zu sein. Wie auch immer - bin froh das es jetzt nach stundenlangem probieren endlich geklappt hat.

  9. #9
    Registriert seit
    07.02.2006
    Beiträge
    215
    Kleiner Tip am Rande:
    wenn du deine Batch-Dateien ausprobierst, setz ans Ende noch eine "pause", dann hast du nämlich die Fehlermeldungen im Fenster und kannst sie in Ruhe durchgehen.

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
  •