アプリケーションが64ビットで動いているか調べる、OSが64ビットか調べる: .NET Tips: C#, VB.NET
WOW64上の32ビットプロセスでは、PROCESSOR_ARCHITECTURE に"x86"が設定されます。この時、本来の PROCESSOR_ARCHITECTURE の値は、PROCESSOR_ARCHITEW6432 に設定されます。なお PROCESSOR_ARCHITEW6432 はWOW64でのみ使用されます。
ということで、32bitのアプリから呼び出されたcmdでは
IF %PROCESSOR_ARCHITECTURE%==AMD64 なんちゃら~
というbatを書いてもうまく働きません
というわけで
こんなのでどうでしょう。
WOW64上の32ビットプロセスでは、PROCESSOR_ARCHITECTURE に"x86"が設定されます。この時、本来の PROCESSOR_ARCHITECTURE の値は、PROCESSOR_ARCHITEW6432 に設定されます。なお PROCESSOR_ARCHITEW6432 はWOW64でのみ使用されます。
ということで、32bitのアプリから呼び出されたcmdでは
IF %PROCESSOR_ARCHITECTURE%==AMD64 なんちゃら~
というbatを書いてもうまく働きません
というわけで
IF %PROCESSOR_ARCHITECTURE%==AMD64 (
64bitなかんじ
) ELSE (
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
64bitなかんじ
) ELSE (
32bitなかんじ
)
)
こんなのでどうでしょう。