Быстрая замена переменных среды оболочки Windows - PullRequest
0 голосов
/ 12 марта 2009

Я не пишущий на Windows VBS (но пользуюсь оболочками Windows). Я использую несколько разных версий стороннего кода, который требует от меня установки переменных среды оболочки Windows, в частности, связанных с Java

Глядя на следующий вопрос Я начал размышлять над тем, что мне нужно сделать, чтобы быстро изменить переменные среды оболочки с помощью одной команды. Например:

В режиме А у меня есть

ANT_HOME=c:\foo\bar\ant-1.5.1
JAVA_HOME=c:\foo\java\1.4
PATH=c:\foo\java\1.4\bin;c:\foo\bar\ant-1.5.1\bin

В режиме B для разработки других вещей я хочу быстро переключиться на следующее (также выбрав в процессе настройки PATH для вышеупомянутого)

ANT_HOME=c:\foo\bar\ant-1.6.1
JAVA_HOME=c:\foo\java\1.6
PATH=c:\foo\java\1.6\bin;c:\foo\bar\ant-1.6.1\bin

Чтобы дополнить сценарий в указанном вопросе, я предполагаю, что потребуется некоторая обработка пути с помощью команды Split и так далее. Кто-нибудь уже сделал что-то подобное, что они хотели бы поделиться?

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

Ответы [ 2 ]

1 голос
/ 12 марта 2009

Опираясь на ответ Тэгги, вы можете передать пути ANT_HOME и JAVA_HOME в качестве аргументов в ваш скрипт:

C:> MyScript c:\foo\java\1.4 c:\foo\bar\ant-1.5.1 

Таким образом, вам не нужно управлять .bat сценарием для каждого «режима».

Тогда в вашем скрипте используйте аргументы в пути:

:: Not needed, but makes it clearer which argument is the Ant path 
:: and which is the Java path.
set JAVA_HOME=%1
set ANT_HOME=%2

:: If you want to preserve the current path and just append the Ant and
:: Java paths:
set PATH=%path%;%JAVA_HOME%;%ANT_HOME%

:: If you want the path to just be the Ant and Java paths:
set PATH=%JAVA_HOME%;%ANT_HOME%
1 голос
/ 12 марта 2009

Используйте переменные ANT_HOME и JAVA_HOME в своем пути:

PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin

В ваших путях есть пакетные файлы для переключения между двумя контекстами

modea.bat:

set ANT_HOME=c:\foo\bar\ant-1.5.1
set JAVA_HOME=c:\foo\java\1.4

modeb.bat:

set ANT_HOME=c:\foo\bar\ant-1.6.1
set JAVA_HOME=c:\foo\java\1.6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...