rom*_*ant 18 windows 64-bit windows-server-2008 windows-server-2003 32-bit
从命令行检测您运行的是 32 位还是 64 位版本的 Windows Server 的最佳和最快方法是什么?
(Cygwin 已安装)
Gaf*_*aff 22
怎么样:
echo %PROCESSOR_ARCHITECTURE%
Run Code Online (Sandbox Code Playgroud)
这将在 32 位系统上返回x86,在 64 位系统上返回AMD64(或IA64)。
Jos*_*hua 13
稍微快一点的方法是检查 %ProgramFiles(x86)% 目录是否存在。如果它存在,那么您正在运行 64 位,如果它不存在,那么您正在运行 32 位。
快速单线:
if exist "%ProgramFiles(x86)%" echo 64-bit
Run Code Online (Sandbox Code Playgroud)
64-bit如果目录存在,这将输出。但是,如果它不作为变量存在但确实作为目录存在(如 %ProgramFiles(x86)%),那将会失败。
您还可以使用查找工具来更准确地确定位数。
set | find "ProgramFiles(x86)"
Run Code Online (Sandbox Code Playgroud)
或使用systeminfo之前的命令
systeminfo | find /I "System type"
Run Code Online (Sandbox Code Playgroud)
(包括/I跨 XP/2003/2008/etc 工作)
小智 8
systeminfo | find /I "System type"
Run Code Online (Sandbox Code Playgroud)
这取决于语言环境,而且速度很慢。
echo %PROCESSOR_ARCHITECTURE%
Run Code Online (Sandbox Code Playgroud)
请注意,它是32 位的x86cmd.exe。
正确做法:
set Arch=x64
if "%PROCESSOR_ARCHITECTURE%" == "x86" (
if not defined PROCESSOR_ARCHITEW6432 set Arch=x86
)
Run Code Online (Sandbox Code Playgroud)
小智 6
使用 WMI 查询进行检查的其他方法:
电源外壳:
(gwmi win32_computersystem).SystemType
Run Code Online (Sandbox Code Playgroud)
指令:
wmic OS get OSArchitecture
Run Code Online (Sandbox Code Playgroud)
摘自这里:http : //www.sysadmit.com/2015/10/windows-como-saber-si-es-de-32-o-64-bits.html
在 Windows 下有多种检查处理器架构的方法:
在至少 Windows 2000及更高版本中检查处理器体系结构的最快、最简单和最兼容的方法是检查PROCESSOR_ARCHITECTURE 环境变量:
echo %PROCESSOR_ARCHITECTURE%
但是,这可能会产生不同的结果,具体取决于命令提示符的打开方式。为避免由于 WoW64获得“意外结果”,您可以直接从注册表中读取它(微软在密钥中输入了不少于两个拼写错误):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
微软还建议从注册表中读取硬件信息存储:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
您还可以检查Program Files目录的 x86 版本(或指向它的环境变量)是否存在,因为它只存在于 64 位系统上。与PROCESSOR_ARCHITECTURE变量不同,这不依赖于命令提示符的运行方式,因为目录存在(或不存在)而不管提示符如何打开:
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
这些方法可以组合在一个单独的批处理文件(例如,cpuinfo.bat)中,并提供了一种很好的、闪电般快速的方式来从标准的 Windows NT 命令提示符检查系统,而无需求助于运行其他程序或框架。
这是在 32 位和 Intel 64 位系统上测试的(请在 AMD64 上测试),在 <1 秒内给出正确的结果:
@echo off
echo PROCESSOR_ARCHITECTURE var:
echo %PROCESSOR_ARCHITECTURE% | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo PROCESSOR_ARCHITECTURE reg:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo CentralProcessor reg:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) var:
if not defined ProgramFiles(x86) (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) dir:
if not exist "%systemdrive%\Program Files (x86)" (
echo 32-bit
) else (
echo 64-bit
)
echo.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51355 次 |
| 最近记录: |