環境変数PROGRAMFILES(X86)があるかどうかで区別した。環境変数なので勝手に設定されることもあるがスルー。
PROCESSOR_ARCHITECTUREはプロセスが32か64かで値がことなるのでOSの判定には使えないと思われる。
1 2 3 4 5 6 7 8 9 10 11 12 |
:CheckOS IF DEFINED PROGRAMFILES(X86) (GOTO 64BIT) ELSE (GOTO 32BIT) :64BIT start x64\ProcessHacker.exe GOTO END :32BIT start x86\ProcessHacker.exe GOTO END :END |
バッチのプロセスが32か64かを知りたい場合は以下
1 2 3 4 5 |
if %PROCESSOR_ARCHITECTURE%==x86 ( echo "Process is 32" ) else ( echo "Process is 64 or others" ) |
参考URL
http://stackoverflow.com/questions/12322308/batch-file-to-check-64bit-or-32bit-os