ti-enxame.com

Como chamar Run () com parâmetros

Eu tenho essa linha de código de trabalho no Windows Batch

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

Eu gostaria de executá-lo via VBScript. Mas eu não sei como passar o caminho no parâmetro que tem um espaço dentro.

Eu vim com algo assim:

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

Mas há um erro:

esperado: ')'

12
Joudicek Jouda

Dentro de uma cadeia literal, um único caractere de aspas duplas é representado por dois caracteres de aspas duplas. Portanto, tente o seguinte:

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
19
Karan

Eu gosto de usar o seguinte sistema para incorporar cotações:

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

É muito mais fácil de ler.

6
db-user