VBS:在目录之间跳转

时间:2014-12-12 13:38:50

标签: vbscript

我正在尝试编写一个小的vb脚本,我遇到了在目录之间跳转的问题。 Exampe:

dim devenv
set devenv = objShell.Environment("PROCESS").Item("VS120COMNTOOLS") + "..\IDE\devenv.com"

我的问题是vb不理解'.. \'或我使用不正确。如何在目录之间正确跳转?

1 个答案:

答案 0 :(得分:0)

我不知道你想跳谁,但这显示了如何根据环境变量设置.CurrentDirectory(以及如何正确串联串联):

Option Explicit

Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject")
Dim goWS : Set goWS = CreateObject("WScript.Shell")
WScript.Echo 0, goWS.CurrentDirectory
WScript.Echo 1, goFS.FileExists("devenv.com")
'Dim sPath : sPath = goWS.Environment("PROCESS").Item("VS90COMNTOOLS") & "..\IDE"
Dim sPath : sPath = goFS.BuildPath(goWS.Environment("PROCESS").Item("VS90COMNTOOLS"), "..\IDE")
WScript.Echo 2, sPath
goWS.CurrentDirectory = sPath
WScript.Echo 3, goFS.FileExists("devenv.com")

输出:

cscript 27444871.vbs
0 E:\trials\SoTrials\answers\27276693\vbs
1 0
2 C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\..\IDE
3 -1

建议使用.BuildPath而不是字符串连接。

<强> P.S。

刚看到:你的

set devenv = objShell.Environment("PROCESS").Item("VS120COMNTOOLS") + "..\IDE\devenv.com"

尝试将Set用于非对象/字符串赋值。