DOS Programm ausführen mit parameter

  • Hallo,

    wieso funktioniert das nicht (zuverlässig)

    Run("waitfor.exe /S 127.0.0.1 /SI fertig")

    waitfor.exe ist ein programm aus dem Server 2003 system32 ordner

  • achso sry, waitfor.exe wird in einem anderen batch ausgeführt und wartet auf das signal vom dem autoit script. Dieses kommt aber nicht an obwohl das autoitscript ohne Fehlermeldung läuft. Wenn ich den Befehl waitfor.exe /S 127.0.0.1 /SI fertig in die CMD eingebe klappts

  • Denk mal so:
    batch -> läuft -> WaitFor AutoIt
    (Denk mal, Wartet auf Mutex oder so, das auch von Waitfor gesetzt werden kann)
    AutoIt -> WaitFor fertigmeldung
    (Mutex wird gesetzt?)
    batch empfängt WaitFor Meldung, macht weiter (Geht aber nicht?)

    Reicht es nicht so?
    Warten: waitfor.exe ABCD
    Senden: waitfor.exe /S ABCD
    :?:

  • nein also ich führe eine batch Datei aus. Diese kann aber nur mit einer Datei arbeiten die von Autoit erzeugt wird was ca 2 minuten dauert. Damit die batch Datei nicht einfach weiterarbeitet obwohl die Datei noch nicht von autoit bearbeitet wurde steht in der batch jetzt ein --------> waitfor fertig damit pausiert die verarbeitung

    davor wird natürlich das autoit Script gestartet. Dann bearbeitet Autoit die Datei. Sobald er fertig ist schickt er ein waitfor.exe /S 127.0.0.1 /SI fertig damit das batch Programm wieder weiter arbeiten kann.

    Problem: das Signal kommt nicht an

  • Warum Kannst du nicht so auf das AutoIT-Script warten?

    Code
    start /WAIT calc


    //Edit: Oder ich denke mal, dass das Signal nicht ankommt, liegt daran, dass das Programm erst auf das Ende des Skripts wartet und dann erst auf das Signal. Möglicherweise existiert das Signal dann nicht mehr und kommt daher nicht an?