В конце я пытаюсь вернуть «Версию продукта» Robocopy.exe (во избежание использования XP026; неработающий код возврата).Я могу использовать Shell.Application, NameSpace, ParseName для получения «Версии продукта», но мне нужно заранее знать NameSpace (folder | directory | path).
Я не могу записать путь NameSpace всценарий, поскольку он будет работать на разных компьютерах, а Robocopy.exe может находиться в одном или нескольких каталогах, указанных в системной переменной среды PATH.Меня интересуют только те, которые найдены в PATH, и, кроме того, экземпляр, который будет выполняться в результате выполнения метода WScript.Shell Run.WScript.Shell Run выполнит первый экземпляр, найденный в системном пути поиска, если абсолютный путь не указан.Это то, что мне интересно найти.
Мой план резервного копирования - использовать программу where.exe, чтобы найти полный путь к Robocopy.exe, вернуть его в мой скрипт vbs с помощью WScript.Shell Exec oExec.StdOut и извлеките путь для использования в качестве NameSpace в приведенном выше коде.
Я искал реализацию vbs или com для управления функцией / методом winpi searchpath, но мне не повезло.Я удивлен, что это еще не реализовано в FileSystemObject или Shell.Application.Я ценю любую помощь, рекомендации или идеи.