2010-06-07 128 views
1

運行,我嘗試從VB運行GO.BAT但是當我運行該腳本,我得到:無法找到特定文件VB腳本要.bat文件從VB

但是從CMD窗口文件go.bat存在。什麼問題?

Dim MyShell 

Dim shell_cmd 

    shell_cmd = "C:\Program Files\dir1\dir2\wizard\go.bat" 

    set MyShell = CreateObject("WScript.Shell") 

    MyShell.Run shell_cmd, 1, 1 

從cmd窗口,如果

C:\Program Files\dir1\dir2\wizard>go.bat 
+0

可能重複http://stackoverflow.com/questions/1340355/launch-programs-whose-path-contains-spaces ) – 2015-03-12 08:09:35

回答

3

您的批處理文件的完整路徑包含空格,所以你需要把它們放在雙引號,像這樣:

shell_cmd = """C:\Program Files\dir1\dir2\wizard\go.bat""" 

shell_cmd = Chr(34) & "C:\Program Files\dir1\dir2\wizard\go.bat" & Chr(34) 
[啓動程序,而其路徑包含空格(的
+0

嗨THX分配它的工作很好 THX再次 – yael 2010-06-07 08:20:27

0

不相信你也知道,但在VB中,你可以使用Shell功能:

http://msdn.microsoft.com/en-us/library/xe736fyk(VS.71).aspx

(似乎比你容易」重新使用)

我不知道爲什麼你得到這個消息,但你所提到的兩個路徑其實都是不同的:

C:\Program Files\dir1\dir2\wizard\go.bat 
C:\Program Files\dir1\dir2\wizard>go.bat 
           ^
+1

第二件事是從命令提示符窗口,顯然,根據問題,所以工作目錄是'C:\ Program Files \ dir1 \ dir2 \ wizard',他們從那裏執行'go.bat'。 – icktoofay 2010-06-07 08:14:49

+1

不是它們是一樣的 C:\ Program Files \ dir1 \ dir2 \ wizard> go.bat go.bat在嚮導目錄下 – yael 2010-06-07 08:15:14