2009-03-12 3 views
0

Windows VBS writer가 아니지만 (Windows 셸 사용자) Windows 셸 환경 변수를 설정해야하는 여러 다른 버전의 타사 코드를 사용합니다. 특히 Java 관련입니다.Windows 셸 환경 변수의 빠른 교환

다음을 보면 question 하나의 명령으로 쉘 환경 변수를 빠르게 변경하기 위해해야 ​​할 일에 대해 숙고하기 시작했습니다. 예 :

A 모드에서

내가, 내가

(또한 그 과정에서 위의 경로 설정을 컬링) 다음으로 빠른 전환을 원하는 다른 것들을 개발하는 모드 B에서

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 

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 

참조 된 질문에서 스크립트를 보완하려면 분할 명령을 사용하는 일부 경로 처리 등이 필요합니다. 이미 공유하고 싶은 사람은 누구입니까?

내가 보존하고 싶은 PATH에 다른 많은 항목이 있으므로 분명히 전체 PATH를 죽일 수는 없습니다.

답변

1

경로의 ANT_HOME 및 JAVA_HOME 변수를 사용하여

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

modeb :

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

는이 상황

modea.bat 사이의 교환에 대한 귀하의 경로에 배치 파일이를 . 박쥐 :

set ANT_HOME=c:\foo\bar\ant-1.6.1 
set JAVA_HOME=c:\foo\java\1.6 
+0

내가 언급해야 이미 이러한 라인을 따라 뭔가. 나는 그 (것)들을 모든 종류의 일이라고 지배하는 더 많은 것을 생각하고 있었다. 내가 해결책을 가지고 있기 때문에 나는 보통 글쓰기를 귀찮게하지 않을 것이지만, 아마도 누군가 내가 그 일을하기 전에 시간을 보냈을 것이다. –

1
thaggie의 대답에

건물, 당신은 당신의 스크립트에 인수로 ANT_HOMEJAVA_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% 
관련 문제