有没有人知道如何创建一个批处理文件,如果是64位系统,可以shell一个程序,如果是32位系统,可以shell另一个程序?
发布于 2011-02-15 04:41:45
检查%PROCESSOR_ARCHITECTURE%
是否为x86
if %PROCESSOR_ARCHITECTURE%==x86 (
rem 32 bit
) else (
rem 64 bit
)
至少目前是这样。例如,在服务器上,我可以访问它的AMD64
,但不知道安腾是什么样子的。但是32位版本总是报告x86
。
另一种选择,也适用于WoW64:
for /f "skip=1 delims=" %%x in ('wmic cpu get addresswidth') do if not defined AddressWidth set AddressWidth=%%x
if %AddressWidth%==64 (
rem 64 bit
) else (
rem 32 bit
)
发布于 2012-07-08 22:28:36
它也可以在没有WMI的情况下工作!我建议:
@echo off
if /i "%processor_architecture%"=="AMD64" GOTO AMD64
if /i "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO AMD64
if /i "%processor_architecture%"=="x86" GOTO x86
GOTO ERR
:AMD64
rem do amd64 stuff
GOTO EXEC
:x86
rem do x86 stuff
GOTO EXEC
:EXEC
rem do arch independent stuff
GOTO END
:ERR
@echo Unsupported architecture "%processor_architecture%"!
pause
:END
发布于 2011-02-14 18:08:20
uname -a #for mac
uname -i #for ubuntu
https://stackoverflow.com/questions/4990839
复制相似问题