.exe Startparameter aus Variable übergeben?

  • Hallo zusammen,

    wie ist es möglich an eine .exe einen oder mehrere variable Startparameter zu übergeben?

    Ich möchte gerne die Usereingabe als Variable speichern (das funktioniert) und dann als Startparameter mit übergeben.

    So funktioniert es leider nicht.

    Code
    run("wvs.exe -$usr -$pwd")


    Ganzer Code:

  • Die Variablen dürfen nicht in Quote "$usr" stehen, da sie ja sonst auch als Text interpretiert werden...

    AutoIt
    Run('wvs.exe -u ' & $usr & ' -p ' & $pwd) ; wenn die Variablen Tabs, Leerzeichen oder '-' enthalten, kann es Probleme geben.
    
    ; dann evtl. so... 
    Run('wvs.exe -u "' & $usr & '" -p "' & $pwd & '"') ; => Run('wvs.exe -u admin -p "Geheim 0-8-1-5"')
    
    ; ich mache das dann auch gerne so...
    Run(StringFormat('wvs.exe -u "%s" -p "%s"', $usr, $pwd)) ; => Run('wvs.exe -u "admin" -p "Geheim 0-8-1-5"')
  • Die Variablen dürfen nicht in Quote "$usr" stehen, da sie ja sonst auch als Text interpretiert werden...

    AutoIt
    Run('wvs.exe -u ' & $usr & ' -p ' & $pwd) ; wenn die Variablen Tabs, Leerzeichen oder '-' enthalten, kann es Probleme geben.
    
    ; dann evtl. so... 
    Run('wvs.exe -u "' & $usr & '" -p "' & $pwd & '"') ; => Run('wvs.exe -u admin -p "Geheim 0-8-1-5"')
    
    ; ich mache das dann auch gerne so...
    Run(StringFormat('wvs.exe -u "%s" -p "%s"', $usr, $pwd)) ; => Run('wvs.exe -u "admin" -p "Geheim 0-8-1-5"')

    Hallo Bitnugger,

    Vielen Dank.

    Mit der Variante funktioniert es tatsächlich so wie ich es mir vorgestellt habe.

    Vielen Dank euch!

    Lösung

    Code
    Run('wvs.exe -u ' & $usr & ' -p ' & $pwd & '')
  • Nachtrag:

    Beim 2ten Programm startet er leider nicht mit den Variablen Parametern.

    Er Öffnet lediglich das Programm

    Code
    ;WVS
    Run('wvs.exe -u ' & $usr & ' -p ' & $pwd & '')
    Sleep(1000)
    ;PCO View
    Run('pro_vb32.exe -u ' & $usr & ' -p ' & $pwd & '')
  • Beim 2ten Programm startet er leider nicht mit den Variablen Parametern.

    Ich kenne das Programm pro_vb32.exe nicht und finde bei Google auch keine brauchbaren Informationen darüber... aber wenn ein Programm Parameter akzeptiert, dann meist auch einen, um die "Usage" anzuzeigen.

    Bsp.:

    >rd /?

    Entfernt (löscht) ein Verzeichnis. 


    RMDIR [/S] [/Q] [Laufwerk:]Pfad 

    RD [/S] [/Q] [Laufwerk:]Pfad 


    /S Löscht alle Verzeichnisse und Dateien im angegebenen Verzeichnis 

    zusätzlich zu dem Verzeichnis selbst. Wird verwendet, um ganze 

    Verzeichnisbäume zu löschen. 


    /Q Keine Nachfrage, ob die Verzeichnisbäume mit /S entfernt werden 

    sollen.

    Das sollte dann auch mit pro_vb32.exe funktionieren... anstelle von /? wird oft auch /h, -h, --h oder -Help erwartet... und bei unbekannten (oder ohne) Parameter/n wird die Usage meist auch angezeigt.

  • Beim 2ten Programm startet er leider nicht mit den Variablen Parametern. Er öffnet lediglich das Programm

    [...]

    Bitnugger : ... über das Programm wirst du nichts im Internet finden das ist ein firmeneigenes Programm. Dieses akzeptiert allerdings auch Parameter.

    Die Info, dass es sich bei pro_vb32.exe um ein firmeneigenes Programm handelt, wäre bereits bei der Fragestellung hilfreich gewesen ;) .

    Dieses Programm erwartet sehr wahrscheinlich andere Parameter als wvs.exe . Welche das sind, müsstest Du doch im Hause erfragen können, oder nicht ?.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • WVS ist ebenfalls Hauseigene Software. Deshalb auch die unterschiedlichen Parameter.

    Habe die Parameter allerdings rausbekommen :)

    pro_vb32 -b XXX -k XXX

    Damit funktioniert es.

    Vielen Dank für eure Hilfe!