Есть ли способ обновить переменные среды в пакетном файле без перезапуска? - PullRequest
0 голосов
/ 11 апреля 2020

ОБЩАЯ ИНФОРМАЦИЯ:
Я использую программу, использующую более старый jkd, jdk-9.0.4, чтобы указать c. Для этого нужно, чтобы значение JAVA_HOME было установлено в jdk-9.0.4. В противном случае я не хочу использовать jdk-9.0.4, поэтому я написал командный файл, чтобы переключиться на jdk-9.0.4, запустить программу и вернуться к jdk-14 в конце.

ВЫДЕРЖКА КОДА:

SETX /m JAVA_HOME "C:\Program Files\Java\jdk-9.0.4"
GRADLEW runClient
SETX /m JAVA_HOME "C:\Program Files\Java\jdk-14"

ПРОБЛЕМА:
Я считаю, что cmd читает только переменные окружения при запуске файла, поэтому хотя я обновляю значение JAVA_HOME на SETX, оно не подтверждает его. Я ищу какую-то команду, которая могла бы обновить значения переменных окружения sh cmd. Я ищу решение, которое не запускает два отдельных пакетных файла (один для обновления JAVA_HOME до jdk-9.0.4 и один для запуска программы и сброса JAVA_HOME).

ИССЛЕДОВАНИЯ:
Когда я просматриваю это в Интернете, все, что я могу найти, - cmd читает только переменные окружения при запуске файла бит и Единственное решение, которое он предлагает, - перезапустить cmd, чтобы получить обновленные значения. В идеале, хотя я не хочу этого делать.

...