読者です 読者をやめる 読者になる 読者になる

3.環境変数 (6)x64とx86の環境変数の違い 〜x64はx86とは違うんです。x86とは〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Windows Command DOSBatch x64


x64とx86環境変数の違い。
Windows Server2003 x64版で確認
デフォルトではなく、Visual Studio2005、Officeなど諸々が
インストールされている環境

確認結果

64bitのコマンドプロンプト
C:\>set |findstr "x86 64 32"
ComSpec=C:\WINDOWS\system32\cmd.exe
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
Path=C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\
System32\Wbem;C:\Program Files (x86)\Log Parser 2.2;C:\Program Files\Microsoft Network Monitor 3\;C
:\WINDOWS\system32\kktools
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=EM64T Family 15 Model 4 Stepping 10, GenuineIntel
ProgramFiles(x86)=C:\Program Files (x86)
VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
32bitのコマンドプロンプト
C:\>set |findstr "x86 64 32"
ComSpec=C:\WINDOWS\system32\cmd.exe
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
Path=C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\
System32\Wbem;C:\Program Files (x86)\Log Parser 2.2;C:\Program Files\Microsoft Network Monitor 3\;C
:\WINDOWS\system32\kktools
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=EM64T Family 15 Model 4 Stepping 10, GenuineIntel
ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\

x64版の32bitコマンドプロンプトには、XXXX6432っていう変な環境変数がある。
「ComSpec=C:\WINDOWS\system32\cmd.exe」これはおかしい気がするんだけどなぁ
動作してるのは「C:\WINDOWS\systemWow64\cmd.exe」のはず。
でもこう表示される。


前にも書いたが、x64版を使ってて、64bitか32bitかを切り分けるなら
PROCESSOR_ARCHITECTUREを参照する。






関連あるかもしれない記事