2013-02-22 33 views
12

Tôi đã có dòng làm việc mã này trong Windows hàng loạtLàm thế nào để gọi Run() với các thông số

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

Tôi muốn chạy nó thông qua VBScript. Nhưng tôi không biết làm thế nào để vượt qua đường dẫn trong tham số có một không gian bên trong.

tôi đã đưa ra một cái gì đó như thế này:

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 

Nhưng có một lỗi:

expected: ')'

+0

Kiểm tra tràn ngăn xếp, họ có thể biết. Ngoài ra còn có một cách để gọi để sao chép các tập tin ini sau khi chạy exe quá. Vb rất gọn gàng. –

Trả lời

18

Trong một chuỗi chữ, một ký tự hai dấu nháy đơn được thể hiện bằng hai đúp quote nhân vật. Vì vậy, hãy thử như sau thay vì:

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

Tôi thích sử dụng các hệ thống sau để nhúng dấu ngoặc kép:

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 

Đó là dễ dàng hơn nhiều để đọc.

Các vấn đề liên quan