PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : erweiterete Batch Datei mit Parametern und Überprüfung gesucht



cycoso
22.11.2007, 22:04
Hi

könnte nochmals jemand den Befehl der Batch posten,
die folgendes macht:

Eintrag zB.: %x und %y in eine log.txt
sowie wenn x nochmals im FMS32 auftaucht und als %x ausgegeben wird und somit die Batch erneut startet, aber nicht mehr in die log.txt geschrieben werden soll, weil dieser Eintrag schon vorhanden ist und die weitere Ausführung der Batch somit beendet.

Zugleich sollte nach der Abfrage ob der aktuelle %x schon in der log.txt vorhanden ist der Inhalt der Log gelöscht werden, wenn der %x anders ist.

Bsp:
Abläufe
x=1 in log.txt
x=1 in log enthalten, Abbruch der Batch, weitere Befehle werden nicht ausgeführt
x=2 in log steht 1 ->Löschen des Inhaltes sowie schreiben der 2 und weiterführen der Batch


Gruß Johannes

de010014
26.11.2007, 11:39
Hi,

vermutlich könnte ich helfen, aber ich versteh einfach nicht so recht was Du vorhast.

Ich steh etwas auf dem Schlauch. Bitte mehr Input!

cycoso
26.11.2007, 17:19
müsste doch verständlich sein. x und y sind jeweils die ausgewertetetn Informationen, mit denen eine Aktion ausgeführt werden soll.

Wenn was unklar, meld dich doch nochmals per Mail direkt an mich,
wo ich eben genauer erläutern soll..

Danke und Gruß
Johannes

de010014
26.11.2007, 19:26
Sorry, aber ich steh immer noch etwas auf dem Schlauch. Schauen wir mal.

-
if exist log.txt goto vorhanden
exit

echo %1 >> log.txt
exit

:vorhanden
del log.txt
-

Die Batch schreibt den Parameter %1 in die Datei "log.txt" wenn die Datei nicht vorhanden ist.
Gibt es die Datei log.txt schon, wird sie gelöscht und nichts weiter passiert.

Hab ich das richtig verstanden?

PS: Die - gehören nicht zur Datei

cycoso
30.11.2007, 18:41
ganz weiter gekommen sind wir noch nicht...
hier vielleicht nochmals etwas anders erklärt was gesucht wird:

wenn die Log.txt mit dem %1 beschrieben ist ist das ok.

Wird nun erneut %1 erneut ausgegeben soll geprüft werden ob der %1-Wert dem entspricht der bereits in der log.txt steht.

Ist dies so soll der weitere Vorgang abgebrochen werden, die Batch Datei beendet sich.

Variiert der Wert wird die log.txt gelöscht und eine neue mit dem neuen Wert erstellt und die Batch Datei weitergeführt. Es wird dann ein Programm gestartet.

Verhindert soll damit werden, dass bei einer Doppelausgabe oder Gleichem das Programm welches über die Batch gesteuert wird. 2 oder mehrmals durchläuft..

Ich hoffe es wird langsam verständlich;-)

felix000
01.12.2007, 02:20
Ich hab um die Zeit nicht mehr die Lust eine komplette Lösung zu erarbeiten, zudem muss ich ähnliche Sachen für die Uni machen...

Schau dir mal die Dokumentation zu den Befehlen <i>if</i> und <i>find</i> an:

Start - Ausführen - <i>cmd</i> - <i>help if</i>