und nochmals RunWait @ComSpec

  • Aber dies sollte doch funktionieren?, ich möchte dies verstehen!? Bitte

    Danke Euch vielmals !


  • In AutoIt werden Variablen in Strings nicht automatisch ausgewertet. Du musst sie entweder mit & verketten oder ein Opt("ExpandVarStrings", True) an den Skriptanfang stellen und dann mit $variablenname$ im String die Variable bezeichnen.

  • Lass dir mal ausgeben was du als Aufruf zusammenbastelst:


    Das Ergebnis muss genauso aussehen wie als wenn du es manuell in die Kommandozeile tippen würdest.
    Das ist hier bei dir nicht der Fall.

    Ich hab mir für sowas mal ne kleine Funktion gebastelt mit welcher ich die Strings für Run etwas einfacher zusammenbasteln kann.
    Vermutlich willst du im Ergebnis eher sowas erreichen:


    Vor allem benötigst du kein @compspec da du keine Shell-eigenen Befehle verwendest sondern lediglich ein externes Programm.

  • Zuerst möchte ich mich bei Euch bedanken für die vielen Antworten die ich erhalten durfte!

    :) Ich habe Bitnugger schon korrekt verstanden doch dies funktioniert bei mir nicht!

    Ich habe den Code nochmals angepasst aber das Dos-Fenster geht so schnell "AufZu" ich kann nicht sagen
    was da genau steht, ich kann nur sagen dass es so noch nicht funktioniert.

    Ich hatte dies schon probiert mit dem RunWait(StringFormat..... Aber.... deshalb hab ich ein neuen "thread" erstellt.
    Entschuldigt dass ich dies nochmals aufkoche....

    Spoiler anzeigen

    Einmal editiert, zuletzt von mauric (24. April 2017 um 08:55)

  • Wenn du lesen möchtest was in der Konsole gepostet wurde, dann solltest du am Ende folgendes hinzufügen  >> Dump.txt.
    Leerzeichen vor dem >> beachten!

    Das wird dir den Output der Konsole in die Datei Dump.txt schreiben. Diese sollte wiederum im Working Directory des Scriptes liegen, sofern du beim Run nichts weiteres angegeben hast.

  • Kleiner Tipp!
    teste das mal aus, jetzt wirst du's ganz sicher raffen :)

  • Hallo alle Zusammen!

    Ich habe nun doch einige Tests gemacht und komme zum Entschluss.

    Wenn ich so ein Zip erstellen möchte, ist dass Zip File immer leer, und mit einem KB.

    AutoIt
    $iErr = RunWait(StringFormat('"%s" a "%s" "%s"', $sSevenZa, $sArchiv, $sSource), '', @SW_HIDE)


    und der $iErr gibt so wieso nur eine nichts aussagende Zahl aus "-32475457" (für mich)


    Mit diesem Weg klappt es auch nicht.

    AutoIt
    $c = RunWait(StringFormat('"%s" x "%s" "%s"',@ComSpec,@Systemdir, $7a, $x, $all, $de), '', @SW_SHOW)

    Ich habe aber gesehen wie ich es doch korrekt packen&entpacken kann.

    AutoIt
    RunWait(@ComSpec & ' /c ' & $7 & " " & $x & " " & $all & " " & $de & " " & $d,'', @SW_SHOW)

    Danke für die Hilfe,


    Doch mit dem String Format würde es mich schon noch wundern wie dies nun wirklich funktionieren würde!?

    • Offizieller Beitrag

    Mit diesem Weg klappt es auch nicht.

    $c = RunWait(StringFormat('"%s" x "%s" "%s"',@ComSpec,@Systemdir, $7a, $x, $all, $de), '', @SW_SHOW)

    Wie auch. Du verwendest nur 3 Formatvariablen (%s) und hast im Befehl 6 Variablen!
    Und was bitte soll das @ComSpec im Aufruf? Das ist doch total überflüssig, da du den Pfad zur Ausführungsdatei angibst und keinen Befehl aus der CMD.exe.