我正在尝试写一个小的vb脚本,在这个脚本中我遇到了在目录之间跳转的问题。示例:
dim devenv
set devenv = objShell.Environment("PROCESS").Item("VS120COMNTOOLS") + "..\IDE\devenv.com"我的问题是vb不理解'..\‘,或者我用错了它。如何正确地在目录之间跳转?
发布于 2014-12-12 22:01:29
我不知道您想跳转到谁,但这展示了如何根据环境变量设置.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进行非对象/字符串赋值。
https://stackoverflow.com/questions/27444871
复制相似问题