2017-11-05 7 views

답변

0

당신이 창에있는 가정하면, 다음과 같은 라인 배치 스크립트를 만들 수 있습니다

reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | 
find /i "x86" > NUL && set OS=32BIT || set OS=64BIT 

if %OS%==32BIT 
@Extract the 32 bit version here 
if %OS%==64BIT 
@Extract the 64 bit version here 
0

첫째, 당신은 결코 컴퓨터의 프로세서가 가지고있는 아키텍처 중요한 없다는 것을 알아야합니다. 실행중인 Windows가 사용하는 아키텍처 만 중요합니다. 64 비트 프로세서가 장착 된 컴퓨터에 32 비트 Windows를 설치하고 사용할 수는 거의 없지만

두 번째로, 64 비트 Windows의 경우 을 File System RedirectorRegistry Keys Affected by WOW64으로 알고 있어야합니다.

셋째, 32 비트 및 64 비트 Windows (amd64, ia64가 아님) 용 RAR 자동 압축 해제 아카이브는 x86 SFX 아카이브 여야합니다. 즉, 추출 후 실행 된 배치 파일은 64 비트 Windows에서 32 비트 cmd.exe으로 처리됩니다. WOW64 구현 세부 사항에 대한 Microsoft의 관련 기사를 읽은 후 환경 변수, 파일 시스템 및 Windows 레지스트리에 액세스하는 것과 관련하여 64 비트 Windows에서 32 비트 환경에서 배치 파일을 실행하는 방법을 분명히해야합니다.

이름이 ProgramFiles(x86) 인 환경 변수는 32 비트 및 64 비트 환경의 64 비트 Windows에서만 존재합니다. 이 사실은 배치 파일이 32 비트 또는 64 비트 Windows 컴퓨터에서 실행되는지 여부를 감지하는 데 사용할 수 있습니다.

if "%ProgramFiles(x86)%" == "" goto Win32 
rem Commands to install amd64 version of the application. 
goto :EOF 

:Win32 
rem Commands to install x86 version of the application. 

도 참조 기존의 스택 오버플로 질문 :