Перечисление ключей среды с VBScript? - PullRequest
2 голосов
/ 27 мая 2010

Мне нужно перечислить ключи в WScript.Shell.Environment объекте. Понятно, что если вы уже знаете название ключа, вы свободны:

Set oShell = WScript.CreateObject("WScript.Shell")
Debug.WriteLine "PATH=" & oShell.Environment("PATH")

... но если вы хотите перечислить ключи, похоже, вам не повезло! Где-нибудь есть секретный проход?

1 Ответ

3 голосов
/ 27 мая 2010

Объект WshEnvironment является коллекцией, поэтому вы можете перечислить его с помощью оператора VBScript For Each ... Next:

Set oShell = WScript.CreateObject("WScript.Shell")
Set oEnv = oShell.Environment

For Each strVar in oEnv
  WScript.Echo strVar
Next

Вывод содержит имена и значения переменных среды, например:

ComSpec=%SystemRoot%\system32\cmd.exe
NUMBER_OF_PROCESSORS=2
TEMP=%SystemRoot%\TEMP
TMP=%SystemRoot%\TEMP
windir=%SystemRoot%
...
...