2009-03-12 19 views
0

Windows VBSライターではない(Windowsシェルのユーザー)Windowsシェル環境変数を設定するために必要なサードパーティ製のコードを複数使用しています。具体的にはJava関連ですWindowsシェル環境変数のクイックスワップ

次を参照してくださいquestion私は、1つのコマンドでシェル環境変数をすばやく変更するために必要なことを考え始めました。例えば:私は他のものを開発するためのモード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 

を持つモードAでは

、私は

(また、プロセスにおける上記の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 

参照された質問のスクリプトを拡張するには、スプリットコマンドなどを使用していくつかのパス処理が必要であると推測しています。既に誰かがこのようなことをしていて、共有したいと思っていますか?

私は明らかに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 

2つのコンテキスト間modea.batを交換するために、あなたのパスにあるバッチファイルを持っていますバット:

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

は、私はすでに、これらの線に沿って何かを言及する必要があります。私はより多くのことを考えていました。 私は解決策を持っているので、通常は書くのが大変ですが、おそらく誰かが私の前に時間を費やしています。 –

1

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

あなたはそれぞれの「モード」のための.batスクリプトを管理する必要はありません。この方法は:thaggieの答えに

ビルは、あなたのスクリプトへの引数としてANT_HOMEJAVA_HOMEパスを渡すことができます。次に、あなたのスクリプトでパス内の引数を使用

:: 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%