PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktionen nach untersch. Bedingungen ausführen



optimist
01.08.2006, 17:45
Hallo !

Ich habe schon gesucht, aber anscheinend mit den falschen Stichworten.
Ich nehme nämlich an, das das Thema bestimmt schon mehrfach angeschnitten wurde.

Folgede Frage:

Ich möchte, dass bei der Schleife 987.. die Aktion X ausgeführt wird,
bei der Schleife 988.. Aktion Y.

Kein Problem, kann ich in FMS32pro direkt einstellen.

Aktion X ist :
Mail an Adressgruppe 987... , speichern Sprache x Min , datei umwandeln in MP3, Schreiben in CSV Datei, Umlaute ASCII-ANSI fertig

Aktion Y ist :
Mail an Adressgruppe 988... , speichern Sprache x Min , datei umwandeln in MP3, Schreiben in CSV Datei, Umlaute ASCII-ANSI fertig


Was aber, wenn 987.. und 988.. zusammen alarmiert wird ?

Würde bedeuten Aktion X wird gestartet, Aktion Y kann nicht gestartet werden, da Aktion X weiter Aktionen sperrt um die Aufnahme sauber durchzuführen.

Gibt es nicht eine Möglichkeit um z.B. mit DOS eine Bedingte Ausführung zu starten ?

D.h. ist eine Aktion bereits gestartet, dann alles ausführen außer ...

Müßte mit If ... ERRORLEVEL ... doch machbar sein oder ?

Hat da jemand schon eine ähnliche Lösung für sich ?

felix000
01.08.2006, 17:58
Bist du sicher, dass die eine Aktion nicht ausgeführt wird???

FMS32pro führt sollte beide ausführen.
Falls nicht musst du mal deine Batchdateien posten...

optimist
01.08.2006, 18:07
Hallo Felix !

Ne FMS32 führt die Aktion schon aus, aber da in der Batch ja eine datei erstellt wird STAUS.TXT beendet sich nie zweite Aktion, da sie ja prinzipiell die gleiche funktion hat , weil sie vor dem Ablauf der Batch überprüft ob es eine STATUS.TXT gibt. Ich denke Du weißt was ich meine !

Da müßte ich bestimmt eine zweigeteilte Batch schreiben oder ?
Der entscheidente Punkt ist ja , das die Sprachaufzeichnung ja den weitern ablauf der Batch ausbremst.

Also Wenn schon Aufzeichnung läuft, dann nur E-Mail oder so ?

Bin ich da auf dem richtigen Weg ?

felix000
01.08.2006, 18:17
Ganz einfach:

Die X-Batch erstellt die Datei StatusX.txt und überprüft ob sie existiert...
und
die Y-Batch erstellt die Datei StatusY.txt und überprüft ob sie existiert...

optimist
06.08.2006, 22:35
Ich glaub ich hab mein Ziel ein bisschen falsch beschrieben, bzw. nicht ausführlich genug beschrieben.

Also ich habe eine Globale Aktion 99???

die schreibt in eine Datei das Datum,Zeit,ZVEI,TEXT
danach E-MAIL an Gruppe
Schrachaufzeichnung im MP3 umwandeln
Umlautumwandlung
Batchjobs mit Kopier- und Sortiervorgängen

Das funktioniert einwandfrei.

Jetzt möchte ich aber, das bei 991?? zwar immer noch die obige aktion ausgeführt wird, aber zusätzlich ein Mail an die Gruppe 991?? geschickt wird
mit der Liste der alarmierten Schleifen.

Bei 992?? dto. aber Mail an Gruppe 992??

Wie könnte ich das machen ???

felix000
06.08.2006, 22:39
Die Schleife übergibst du ja an die Batch (ich gehe jetzt von %1 = ZVEI aus):

SET schleife=%1
goto %schleife:~0,3%
:990
...
goto ende
:991
...
goto ende
:992
...
goto ende


:ende

%schleife:~0,3% entspricht den ersten 3 Ziffern der alarmierten Schleife.

optimist
06.08.2006, 22:53
Hey Danke !

DOS gefällt mir immer besser, muß mich doch ernsthaft mal damit auseinander setzen, hoffe bis dahin kann ich ab und zu nochmal Dein Wissen anzapfen.

Werde es mal versuchen umzusetzen !

felix000
06.08.2006, 23:20
Natürlich helfe ich dir falls du nochmal ein Problem hast...

Eine andere Möglichkeit könnte auch ganz nützlich sein:

IF exist %1.bat start %1.bat

Dann erstellst du einfach für jede Schleife, die eine Spezialaktion brauch eine Batchdatei, die im Falle der Alarmierung der Schleife gestartet wird.

Diese Vorgehensweise ist besonders nützlich, wenn man einige Schleife hat bei denen was Spezielles passieren soll und alle anderen sollen nur geloggt werden...


Man kann auch beide kombinieren:

SET schleife=%1
IF EXIST %schleife:~0,3% START %schleife:~0,3%

optimist
07.08.2006, 11:35
Hey, das bringt mich natürlich auf einige Ideen !

Ich versuchs mal und gebe Dir nochmal Rückmeldung !

Mal sehen wie ich das hinbekommen !
Da spukt mir schon gleich die Problematik durch den Kopf, wie ich doppelaktionen vermeide etc.

Wenn total hakt, werde ich vielleicht mal meine Batch-Datei posten.

Franki112
02.11.2006, 08:28
Hallo,

ich habe auch bezüglich verschiedener Bedinnungen eine Frage:

Besteht die Möglichkeit, das z.B von 7 Uhr bis 17 Uhr die Batchdatei x aufgerufen wird und die übrige Zeit die Batchdatei y Wenn ja, wie würde dies aussehen?

Grüße

Frank

optimist
02.11.2006, 13:42
Hallo Frank,

schaum mal hier :

http://funkmeldesystem.de/foren/showthread.php?t=26680

das kann Dir evtl. weiterhelfen.

felix000
02.11.2006, 14:23
Besteht die Möglichkeit, das z.B von 7 Uhr bis 17 Uhr die Batchdatei x aufgerufen wird und die übrige Zeit die Batchdatei y Wenn ja, wie würde dies aussehen?

@echo off
IF %time:~0,2% GEQ 7 IF %time:~0,2% LEQ 16 goto Tag
goto Nacht

:Tag
[...]
goto Ende

:Nacht
[...]
goto Ende

:Ende

Franki112
02.11.2006, 14:25
Hallo Felix

ich habe dein Batchvorschlag ausprobiert. Die Tageszeit wird ausgeführt. Mache ich jetzt aus 16 Uhr ne 13 Uhr, führt dieser die Nacht nicht aus?

An was kann das liegen?


Frank

felix000
02.11.2006, 17:48
Also bei mir läuft sie...

Franki112
03.11.2006, 10:18
Hallo Felix,

soweit funktioniert es jetzt mit dem Zeitfenster. Bezüglich meiner Kopierbatch, die du mir geschrieben hast - funktioniert diese auch unter WIN ME?

Gruß

Frank

felix000
04.11.2006, 01:41
Sollte schon, ich kanns aber nicht testen, da ich keinen PC mit Win ME hab.