У меня проблема с переменными среды Windows в скрипте (управление конфигурацией).Мои сценарии имеют дело с автоматической установкой ресурсов и настройкой их требований (переменных среды, файлов и т. Д.)
Моя проблема возникает здесь.Один из моих сценариев устанавливает JDK в систему Windows, это означает, что нужно установить исполняемый файл, настроить JAVA_HOME и JRE_HOME и включить %JAVA_HOME%/bin
в %PATH%
.Это легко выполнить с помощью команд setx, но возникает проблема при выполнении второго выполнения сценария: переменная PATH заканчивается %PATH%;%JAVA_HOME%/bin;%JAVA_HOME%/bin
(и дальнейшие выполнения будут означать более длинную переменную).
Решением этого побочного эффекта является выполнение команды только в том случае, если% PATH% еще не содержит% JAVA_HOME / bin, и это можно выполнить через echo %PATH% | find "%JAVA_HOME/bin"
, только если переменные не будут расширены по умолчанию ...
Я должен сказать, что предыдущая команда терпит неудачу, потому что JAVA_HOME содержит свою версию (например, C:\Program Files\Java\jdk_6u30
).
Итак ... можно выводить переменную среды без расширения ее содержимого?Мне нужна только переменная RAW в команде find, ничего больше.