Установка переменной среды в JavaScript

addSingle это метод

  this.toastService.addSingle();
5
задан John Smith 27 May 2009 в 18:13
поделиться

3 ответа

Проблема не в вашем коде, а в выполнении процесса. Полные системные переменные назначаются выполняемому процессу. Итак, ваш дочерний процесс также имел такой же набор переменных.

Ваш пример кода работает хорошо. Он добавляет переменную в среду SYSTEM.

Итак, вам нужно установить переменную не только для вашей системы, но и для вашего процесса.

Вот код.

var oShell = WScript.CreateObject("WScript.Shell");
var oSysEnv = oShell.Environment("SYSTEM");
oSysEnv("TEST1") = "TEST_VALUE";
var oSysEnv = oShell.Environment("PROCESS");
oSysEnv("TEST1") = "TEST_VALUE";
oExec = oShell.Run("envtest.bat", 1, true);  

После того, как вы создали системную переменную.

] Он назначит вновь созданную переменную для текущего процесса. Итак, ваш дочерний процесс может получить эту переменную во время выполнения команды «SET».

Извините за мой плохой английский.

6
ответ дан 14 December 2019 в 04:47
поделиться

Вы получаете системные переменные окружения. Я подозреваю, что у вас просто нет разрешения изменять их; Вы можете попробовать изменить это на переменные среды пользователя.

Также я не знаю, учитывается ли регистр аргумента Environment () или нет. В документации MS используется «Система» вместо «СИСТЕМА» . Может иметь значение, но я точно не знаю.

0
ответ дан 14 December 2019 в 04:47
поделиться

Есть 4 «коллекции» (система, пользователь, изменчивый и процесс), который вам, вероятно, понадобится Process, если вам просто нужен дочерний процесс для просмотра переменной

2
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: