最后,我试图返回'Product Version'
of Robocopy.exe
(为了避免使用 XP026;损坏的返回码)。我可以使用Shell.Application
,NameSpace
来ParseName
获取“产品版本”,但我需要NameSpace
事先知道(文件夹|目录|路径)。
我无法将 NameSpace 路径写入脚本,因为它将在不同的计算机上运行,并且 Robocopy.exe 可能位于系统 PATH 环境变量中列出的一个或多个目录中。我只对在 PATH 中找到的那些感兴趣,而且对将作为WScript.Shell
Run 方法的结果执行的实例感兴趣。WScript.Shell Run
当未指定绝对路径时,将执行在系统搜索路径中找到的第一个实例。那是我有兴趣找到的那个。
我的备份计划是使用 where.exe 程序找到完整路径Robocopy.exe
,将其返回到我的 vbs 脚本,WScript.Shell Exec oExec.StdOut
然后提取要使用的路径,如NameSpace
上面的代码所示。
我一直在寻找 winapi 搜索路径函数/方法的 vbs 或 com 控制实现,但没有运气。我很惊讶它还没有在FileSystemObject
or中实现Shell.Application
。我感谢任何帮助、推荐或想法。