1

不是 Windows VBS 编写器(但 Windows shell 的用户)我使用多个不同版本的第三方代码,这需要我设置 Windows shell 环境变量,特别是这些与 Java 相关

看着下面的问题,我开始思考我需要做些什么来使用单个命令快速更改 shell 环境变量。例如:

在模式 A 我有

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 中还有许多其他我想保留的项目被使用。

4

2 回答 2

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%
于 2009-03-12T11:24:36.530 回答
1

在路径中使用 ANT_HOME 和 JAVA_HOME 变量:

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

在路径中有一个批处理文件,用于在 2 个上下文之间进行交换

modea.bat:

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

模式.bat:

set ANT_HOME=c:\foo\bar\ant-1.6.1
set JAVA_HOME=c:\foo\java\1.6
于 2009-03-12T04:43:22.813 回答