2013-02-22 23 views
12

mam tej linii kodu pracy w systemie Windows BatchJak wywołać run() z parametrami

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

Chciałbym uruchomić go za pomocą VBScript. Ale nie wiem, jak przekazać ścieżkę w parametrze, który ma w sobie przestrzeń.

wymyśliłem coś takiego:

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 

Ale jest błąd:

expected: ')'

+0

Sprawdź przepełnienie stosu, mogą wiedzieć. Istnieje również sposób wywołania, aby skopiować pliki ini po uruchomieniu exe. Vb jest bardzo schludny. –

Odpowiedz

18

ciągu dosłownym ciąg pojedynczy znak cudzysłów jest reprezentowany przez dwa cudzysłów postacie. Więc zamiast próbować następujące:

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

Lubię używać następujący układ osadzić cytaty:

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 

To dużo łatwiejsze do odczytania.