我正在尝试编写一个小的vb脚本,我遇到了在目录之间跳转的问题。 Exampe:
dim devenv
set devenv = objShell.Environment("PROCESS").Item("VS120COMNTOOLS") + "..\IDE\devenv.com"
我的问题是vb不理解'.. \'或我使用不正确。如何在目录之间正确跳转?
答案 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
用于非对象/字符串赋值。