2013-02-22 15 views
12

Ho questa linea di lavoro di codice in Windows BatchCome chiamare Run() con parametri

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

Vorrei eseguirlo tramite VBScript. Ma non so come passare il percorso in parametro che ha uno spazio dentro.

mi si avvicinò con qualcosa di simile:

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 

Ma c'è un errore:

expected: ')'

+0

Controllare lo stack di overflow, potrebbero essere a conoscenza. C'è anche un modo per chiamare per copiare i file ini dopo che anche l'exe viene eseguito. Vb è molto pulito. –

risposta

18

All'interno di una stringa letterale, un singolo carattere doppio apice è rappresentato da due virgolette doppie personaggi. In modo da provare il seguente invece:

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

Mi piace usare il seguente sistema per incorporare le citazioni:

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 

E 'molto più facile da leggere.

Problemi correlati