Подтвердить что ты не робот

Как вызвать Run() с параметрами

У меня есть эта рабочая строка кода в пакете Windows

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: ')'

4b9b3361

Ответ 1

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

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

Ответ 2

Мне нравится использовать следующую систему для вставки кавычек:

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

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