Я использую систему Windows 7, в которой я хочу установить системную переменную среды и увидеть ее в последующих командных приглашениях, которые я запускаю.
Когда я устанавливаю системную переменную среды, используя " setx ", все работает нормально, но, учитывая, что я хочу использовать один и тот же код сценария для XP и Windows 7, я не могу сделать это на XP, потому что XP этого не делает приходят по умолчанию с setx.
Поэтому я должен прибегнуть к использованию WMI для установки переменных среды:
Я использую этот следующий код для установки переменной:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objVariable = objWMIService.Get("Win32_Environment").SpawnInstance_
objVariable.Name = "TestKey"
objVariable.UserName = "<System>"
objVariable.VariableValue = "TestValue"
objVariable.Put_
Но теперь, когда я запускаю новую командную строку, переменная среды не вступает в силу;
Однако, если я перезагружаю систему, она вступает в силу; И когда я захожу в «Мой компьютер»> «Свойства»> «Дополнительные параметры системы»> «Переменные среды», я вижу значение «TestKey»; И когда я нажимаю кнопку «ОК», тут же запускаю новую командную строку, значение «TestKey» кажется волшебным образом;
Можно ли как-нибудь заставить системную переменную среды отображаться в последующих командных приглашениях, не прибегая к нажатию кнопки ОК в окне переменных среды (в свойствах системы) или перезагрузке компьютера?