Windows 7用のバッチファイルを作成する必要があります。この.batファイルは、アプリケーションをインストールするためだけのものです。問題は、Windows 7が32ビットであるか(次に32インストーラーを実行する)、それともWindows 7 64ビットであるか(次に64ビットインストーラーを実行する)を知る必要があることです。 Windows 7が32ビットか64ビットかを知るために、バッチファイルでどのコマンドを使用できますか?
前もって感謝します!!!
64ビット環境では、次のような環境変数があります。
ProgramFiles(x86)
32ビット環境では、その変数はありません。で確認できます
if defined ProgramFiles(x86) (
REM do stuff for 64bit here
) else (
REM do stuff for 32bit here
)
一時的なtxtファイルを使用したくない場合は、パイプを使用してください。
Set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
REG.exe Query %RegQry% | Find /i "x86"
If %ERRORLEVEL% == 0 (
GOTO X86
) ELSE (
GOTO X64
)
:X86
Commands here
GOTO END
:X64
commands here
:End
DEFINEDを使用している場合は、変数名を%記号で囲まないでください。
if defined ProgramFiles(x86) (
:: do stuff for 64bit here
) else (
:: do stuff for 32bit here
)
環境変数PROCESSOR_ARCHITECTUREを使用して、プロセス自体が32ビットまたは64ビットのどちらで実行されているかを判別できます。値はAMD64またはx86のいずれかです。
ただし、注意する必要があります。バッチファイルが32ビットバージョンのCMD.EXE(\ Windows\SysWOW64内)から実行されている場合、この変数は「x86」に設定されますが、\ Windows内のCMD.EXEから実行されている場合は「AMD64」に設定されます。 64ビットバージョンのWindowsでは\ System32。