Определение местоположения программных файлов с использованием VBS - PullRequest
2 голосов
/ 26 сентября 2011

Какой безопасный способ извлечения местоположения каталога «Program Files» с помощью VBS ?.Я хотел бы получить местоположение каталога из среды, поскольку это позволит избежать проблем локализации, а также проблем между различными архитектурами ОС (32/64 бит) и диском (C: \, D: \ и т. Д.).

До сих пор я сталкивался с примером, приведенным на MSDN , но все же я могу заставить скрипт работать в VBS, каждый запуск просто жалуется на различные ошибки.Вот что у них есть на примере скрипта для .net, чтобы получить папку Sys32 .

' Sample for the Environment.GetFolderPath method
Imports System

Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("GetFolderPath: {0}", Environment.GetFolderPath(Environment.SpecialFolder.System))
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
'GetFolderPath: C:\WINNT\System32
'

Как упоминала Хелен, это мой скрипт для определения ОСАрхитектура и в зависимости от результата я хочу получить соответствующий путь к «Программным файлам»

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sPC  & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
    sSystemArchitecture = objOperatingSystem.OSArchitecture
Next

1 Ответ

2 голосов
/ 26 сентября 2011

для vbs из Как получить настройки среды программных файлов из VBScript

Set wshShell = CreateObject("WScript.Shell")
WScript.Echo wshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")

, если вы находитесь в vba

Sub GetMe()
Set wshShell = CreateObject("WScript.Shell")
MsgBox wshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
End Sub
...