2013-02-22 2 views
12

Я получил эту рабочую строку кода в Windows, BatchКак звонить Run() с параметрами

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

Я хотел бы, чтобы запустить его с помощью VBScript. Но я не знаю, как пройти путь в параметре, в котором есть пространство внутри.

я придумал что-то вроде этого:

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 

Но есть ошибка:

expected: ')'

+0

Проверьте переполнение стека, они могут знать. Существует также способ вызова для копирования ini-файлов после запуска exe. Vb очень аккуратный. –

ответ

18

В пределах символьной строки, один двойной кавычки символ представлен двумя двойные кавычки персонажи. Так что попробуйте следующие вместо:

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

Я хотел бы использовать следующую систему, чтобы вставлять цитаты:

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 

Это намного легче читать.

Смежные вопросы