RUN-Befehl beendet sich plötzlich

  • Hallo Zusammen,

    ich habe ein Problem mit dem RUN-Befehl. Er startet, ist dann in dem Task-Manager kurz zu sehen und beendet sich dann wieder.
    Ich rufe das Programm so auf:

    [autoit]

    $iPID = Run('Robocopy ' & $sVon & ' ' & $sNach & $sParameters, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)

    [/autoit]


    Wenn ich nun den gleichen Befehl ohne "@SW_HIDE" und "$STDERR_CHILD + $STDOUT_CHILD" starte und mir die Ausgabe anschaue,
    läuft Robocopy ganz normal weiter und beendet sich auch nicht. Sehr komisch.
    Ich habe es auch schon bereits über die cmd versucht mit "Run(@ComSpec & " /c "&"... aber dort ist es das gleiche.
    Der Prozess startet, läuft an und beendet sich nach ca. 10 Sekunden immer.
    Ansonsten läuft er so ca. 2 min.

    Hat jemand eine Idee? Ist echt zum verzweifeln.

    Die Anna :*

    "Wo kämen wir hin, wenn jeder sagte wo kämen wir hin, und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen..." :wacko:

    2 Mal editiert, zuletzt von AnnaM (24. Oktober 2012 um 09:13)

  • Ja, aber hier kann ich die Ausgaben nicht abfangen. $STDERR_CHILD + $STDOUT_CHILD sind unverzichtbar.

    Die Anna :*

    "Wo kämen wir hin, wenn jeder sagte wo kämen wir hin, und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen..." :wacko:

  • Hi,

    ich sehe da keinen Fehler, bei mir funktioniert das hier einwandfrei:

    [autoit]

    AutoItSetOption("ExpandEnvStrings", 1)
    Const $sCommandline = '%USERPROFILE% D:\ /R:10 /W:1'
    Run(@ComSpec & ' /C robocopy ' & $sCommandline, '', @SW_SHOW, 0x4 + 0x2)

    [/autoit]
  • Haha, ich denke ich weiß nun nach zahlreichen Versuchen, woran das liegt.

    Es ist sogar relativ einfach. Ohne grafische Ausgabe, sei es in meinem Programm oder einfachst in der Konsole, ist Robocopy wahnsinnig schnell.
    D.h. starte ich einen Vorgang in der Konsole, braucht Robocopy eine gewisse Zeit, um alle Dateien durchzusehen, weil er sie ja noch anzeigen muss.
    Lasse ich Robocopy aber einfach so starten, also ohne jegliche Anzeige, rast dieser durch die Dateien und ist innerhalb kürzester Zeit fertig.
    Dieses geht aber nur bei kleinen Änderungen am Anfang der Suche oder bei gar keinen Änderungen.
    Bei Dateien, die er am Ende findet, braucht er zwar ein wenig länger, aber das sind bei 50.000 Dateien nur so 20 Sekunden mehr.
    OHMAN. Das löst zwar nicht mein Problem, aber trägt zum Verständnis bei.

    Lieben Gruß-

    Die Anna :*

    "Wo kämen wir hin, wenn jeder sagte wo kämen wir hin, und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen..." :wacko: