我正在构建一个可重定位目录,其中包含多个可执行文件(以及其他文件)。树看起来像这样:
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")`
但这在第2行给出了"cannot find path"
错误。
知道怎么做吗? (我来自Linux,使用shell脚本或软链接这样的东西很容易)。
答案 0 :(得分:2)
更改
oShell.Run("\.bin\app1.exe")
到
oShell.Run ".\bin\app1.exe"
\.bin
在.bin
中查找CurrentDrive:\
。有关删除()的信息,请参阅here。
引用:
oShell.Run """.\bin\app1.exe"""
(VBScript逃脱“是”“)
答案 1 :(得分:1)
在调用Run()
之前,您可以使用CurrentDirectory
对象的Shell
属性为您设置当前工作目录:
strExeName = "app 1.exe"
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.CurrentDirectory = "bin"
oShell.Run Chr(34) & strExeName & Chr(34)
编辑:
@ Ekkehard的解决方案也应该有用。你只需要用双引号括起任何带空格的路径。使用"""" & strPath & """"
或Chr(34)
,如上所示。