我正在构build一个可重定位的目录,其中包含多个可执行文件(以及其他文件)。 树看起来像这样:
root +-- bin +-- app 1.exe +-- app 2.exe +-- config +-- log app 1.??? app 2.???
注意到???
在根文件? 我希望那些在bin
启动应用程序,但是使用root
作为工作目录。 我尝试了几件事情:
关于VBS文件,这是我现在所拥有的:
Set oShell = WScript.CreateObject("WScript.Shell") oShell.Run(".\bin\app 1.exe")`
但是这给了我一个"cannot find path"
错误第2行。
任何想法如何做到这一点? (我来自Linux,使用shell脚本或softlink,这样的东西很容易死掉)。
更改
oShell.Run("\.bin\app1.exe")
至
oShell.Run ".\bin\app1.exe"
\.bin
在CurrentDrive:\
查找.bin
。 看到这里删除()。
用引号:
oShell.Run """.\bin\app1.exe"""
(VBScript的“是”的转义)
在调用Run()
之前,可以使用Shell
对象的CurrentDirectory
属性来设置当前的工作目录:
strExeName = "app 1.exe" Set oShell = WScript.CreateObject("WScript.Shell") oShell.CurrentDirectory = "bin" oShell.Run Chr(34) & strExeName & Chr(34)
编辑:
Ekkehard的解决方案也应该有效。 你只需要用双引号括住空格。 使用"""" & strPath & """"
或Chr(34)
,如上所示。