如何组合一个目录(例如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的新手。即使它是基本的,请帮助。
答案 0 :(得分: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"