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