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


Anmelden zum Antworten