マシンのアーキテクチャに基づいて環境変数を設定する簡単なバッチ ファイルを作成したいと考えています。以下の通りです。
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」の部分に入るのかわかりません。私が反響したとき