2013-11-28 46 views
1

如何组合一个目录(如C:\ Program Files \ dir1),该目录位于变量中并且来自installshield中的属性和批处理脚本test.bat在一行中执行(C:\ Program Files \ dir1 \ test.bat)???我正在尝试以下但徒劳无功。将目录和批处理文件合并为一行执行

dim shell 
    dim strInstallLocation, strbatch 
    set shell=createobject("wscript.shell") 
    strInstallLocation = """C:\Program Files\dir1""" 
    strbatch = strInstallLocation &"""\test.bat""" 
    shell.run strbatch 
    set shell=nothing 

我得到一个类型不匹配的属性。我是这个vbscripting的新手。即使它是基本的,请帮助。

回答

1

应引用.Run的(第一个)参数以帮助shell正确解析文件规范。对于您可以使用:

Function qq(s) : qq = """" & s & """" : End Function 

要从文件夹/路径和文件名,建立一个文件规范,FileSystemObject对象提供.BuildPath方法。它应该被用来代替本土的字符串操作(假设你已经在GOFS的FSO):

>> sFolder = "C:\Program Files\dir1" 
>> sFile = "magic.bat" 
>> sFSpec = goFS.BuildPath(sFolder, sFile) 

现在所有一起:

>> sCmd = qq(sFSpec) 
>> WScript.Echo sCmd 
>> 
"C:\Program Files\dir1\magic.bat" 
+0

霍纳,你可以在我的整个代码更为具体。我的问题中的顺序代码与变量一起帮助。我在这里先向您的帮助表示感谢 – Bala