2013-02-22 1 views
12

ich diese Arbeitscodezeile in Windows Batch habenWie Run() aufzurufen, mit Parametern

start "" /wait /i "C:\Program Files\Sandboxie\Start.exe" /box:NetBeans /wait "C:\Program Files\NetBeans 7.3\bin\netbeans64.exe" 

Ich möchte es über VBScript ausführen. Aber ich weiß nicht, wie ich den Pfad in Parameter übergeben soll, der einen Raum enthält.

kam ich mit so etwas wie dies oben:

Set objShell = CreateObject("Wscript.Shell") 
objShell.Run("C:\Program Files\Sandboxie\Start.exe" /box:NetBeans /wait "C:\Program Files\NetBeans 7.3\bin\netbeans64.exe"), 1, True 

Aber es ist ein Fehler:

expected: ')'

+0

Check-Stack-Überlauf, können sie wissen. Es gibt auch eine Möglichkeit, um Ini-Dateien zu kopieren, nachdem die exe ausgeführt wurde. Vb ist sehr ordentlich. –

Antwort

18

Innerhalb einer Zeichenkette, eine einzelne doppelte Anführungszeichen durch zwei doppelte Anführungszeichen dargestellt wird Figuren. Also versuchen Sie Folgendes statt:

Set objShell = WScript.CreateObject("WScript.Shell") 
objShell.Run """C:\Program Files\Sandboxie\Start.exe"" /box:NetBeans /wait ""C:\Program Files\NetBeans 7.3\bin\netbeans64.exe""", 1, True 
Set objShell = Nothing 
6

Ich mag das folgende System verwenden Anführungszeichen einzubetten:

strCommand = Quotes("C:\Program Files\Sandboxie\Start.exe") & _ 
     " /box:NetBeans /wait " &       _ 
     Quotes("C:\Program Files\NetBeans 7.3\bin\netbeans64.exe") 

Function Quotes(ByVal strValue) 
    Quotes = Chr(34) & strValue & Chr(34) 
End Function 

Es ist viel leichter zu lesen.