Batchfile bricht ab
-
Hallo zusammen!
Wenn ich in einer *.bat datei ein ungültiges Kommando eingbit bricht die *.bat Datei mit
Der Befehl "asd" ist entweder falsch geschrieben oder konnte nicht gefunden werden
ab.
Ich möchte aber das sie trozdem weiterläuft.Da ich leider die kommandos nicht bestimme, kann ich nicht einfach nur gültige eingeben.
Ich danke euch für eure ideen.
Bsp einer Bat die nach der 1. zeile abbricht
asd | d:\Projekte\Aktuell\N-Start\Console2.exe ! ": " echo done| d:\Projekte\Aktuell\N-Start\Console2.exe ! "c "
Die Zweite Zeile ist muss unbedingt ausgeführt werden, auch wenn die erste ungültig ist... Aber erst danach!
Mit besten Grüssen
Andrin
-
Hmm.. naja... der Output von asd kann ja auch nicht als Input benutzt werden, wenns gar keinen Output gibt weil die Datei nicht existiert..
ICh kenne allerdings auch keine art "workaround"...
-
Das ist klar. Mir ist klar das "asd" kein command ist.
die zeile sollte einfach übersprungen werden, da sie nicht valid ist.
Ich habe probiert die invalide zeile in einem zweiten batfile aufzurufen aus dem ersten. doch das bricht beide batch vorgänge ab.
-
IF [NOT] EXIST {Dateiname} {Befehl}
also...
IF EXIST asd ( asd | d:\Projekte\Aktuell\N-Start\Console2.exe ! ": " ) ELSE ( echo datei asd fehlt ) IF EXIST d:\Projekte\Aktuell\N-Start\Console2.exe ( echo done | d:\Projekte\Aktuell\N-Start\Console2.exe ! "c " ) ELSE ( echo datei console2.exe fehlt ) pause
diese kleine Programm sollte nachsehen ob "asd" vorhanden ist
wenn ja.. ausführen
wenn nein fehlermeldung
wenn datei console2.exe fehlt ... nochmal das selbe
wenn da ist... starten
-
Danke vielmals für deinen Tipp. Ich habe aber noch probleme damit:
Warum funktioniert:IF EXIST ping (ping 192.168.0.1 | d:\Projekte\Aktuell\N-Start\Console2.exe ! ": " ) ELSE ( echo datei asd fehlt ) echo done | d:\Projekte\Aktuell\N-Start\Console2.exe ! "c "
Nicht? auf wenn ich IF exists ping 192.168.0.1 mache geht es nicht?
Mit besten grüssen
Andrin
-
sind die geöffneten dateien auch alle vorhanden?
-
ping ist eine standard befehl jeder windows distro...(keine datei...)
-
ich dachte eher an die datei:
d:\Projekte\Aktuell\N-Start\Console2.exe
-
die existiert sicher.
-
N-Dream schrieb:
ping ist eine standard befehl jeder windows distro...(keine datei...)
Falsch.
ping.exe befindet sich im System32 Ordner und ist kein Interner befehl, wie cd, md oder rd
-
Stimmt, der Path von system32 is aber included. Folglich sollte if exists 1 zurückgeben, oder?
-
das ist korrekt..
"ping.exe".....
sollte jedoch auch ohne pfad gestartet werden, weil es im system-ordner liegt
mfG (c)h