我想编写一个简单的批处理文件,我想在其中设置基于机器架构的环境变量。如下:
set ARCH=%PROCESSOR_ARCHITECTURE%
echo %ARCH%
if %ARCH%==x86 (
set JAVA_ROOT=C:\Progra~1\Java\j2re1.4.2_13
) else (
set JAVA_ROOT=C:\Progra~2\Java\j2re1.4.2_13
)
echo JAVA_ROOT is %JAVA_ROOT%
在架构为“AMD64”的 64 位机器上,JAVA_ROOT 将在 echo 语句中显示为“C:\Progra~2\Java\j2re1.4.2_13”。但是当我运行一个使用这个文件的应用程序时,JAVA_ROOT 的第一个值会被选中'C:\Progra~1\Java\j2re1.4.2_13'。即使我在 64 位 Windows7 上运行它,我也不知道为什么它会出现在“if”部分。当我回应