Prozess mit Parametern starten

  • VBScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von tobi45f.

    Prozess mit Parametern starten

    Hallo zusammen,

    ich würde gern mit vbs einen Prozess starten. Notepad.exe usw bekomme ich problemlos gestartet. Allerdings muss ich bei meiner sprung.exe noch Parameter übergeben. Ich habe sowas in c# programmiert und weiß daher, wie es in der Sprache funktioniert. Allerdings muss es mit vbs gehen und da stehe ich auf dem Schlauch.

    Dim shl
    Set shl = CreateObject("Wscript.Shell")
    Call shl.Run("""C:\Program Files (x86)\Sprung.exe""")
    Set shl = Nothing
    WScript.Quit

    öffnet mir bisher die Console (wird direkt wieder geschlossen, ist auch gut so).

    Wenn ich cmd.exe starte, mit cd zu dem Pfad navigiere und mit meinem befehl "Sprung 1 123456" ausführe, dann wird die Anweisung erledigt. Wie bekomme ich diese Anweisung in vbs realisiert?

    In c# konnte ich es über ProcessStartInfo (pfad, befehl) machen. Sowas gibts aber bei vbs glaube ich nicht?

    Kann mir jemand sagen, wie ich mein Vorhaben umgesetzt bekomme?

    Gruß Tobias
    Nach einigem Tüfteln, was genau du meinst mit "hinter sprung.exe" hat es Funktioniert! Danke dir
    Für all die, die mal dasselbe Problem haben:
    Call.shl.Run("""Pfad\bla.exe""Parameter")

    Wenn ich nun die Parameter nicht hart reinschreiben möchte, sondern eine Variable nutzen möchte? Ich finde leider keine Beschreibtung über die Syntax von dem .Run was die ganzen """"" bedeuten sollen und wo was rein kommt. :(

    Gruß Tobias

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „tobi45f“ ()

    tobi45f schrieb:

    was die ganzen """"" bedeuten sollen
    Das sind String Delimiter.
    Der eigentliche Parameter für Run ist C:\Program Files (x86)\Sprung.exe Parameter
    Da dein Pfad Leerzeichen beinhaltet, musst du ihn als zusammengehörig kennzeichen, in dem du Delimiter drum rum packst.
    "C:\Program Files (x86)\Sprung.exe" Parameter
    Und diese Konstruktion musst du in einen String packen, also mit Delimitern umgeben.
    Dazu musst du die " innerhalb des Strings jeweils verdoppeln (damit sie nicht als String-Ende wirken).
    AlsoMyString = """C:\Program Files (x86)\Sprung.exe"" Parameter"
    bzw. Call shl.Run ("""C:\Program Files (x86)\Sprung.exe"" Parameter")
    Wenn du jetzt noch die Parameter als Variablen haben möchtest, musst du lediglich diesen String aus Variablen zusammensetzen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --