TL; DR:我需要一段代码来识别窗口的“位”,并将其放入一个名为“ bit”的变量中,而无需任何用户输入。
当前,我正在使用:
set /P choice=32 bit system? [Y/N]
if /I "%choice%" EQU "Y" (
:: 32 bit code
) else (
:: 64 bit code
)
但是,无论用户运行的是32/64位命令提示符还是那里的计算机,我都希望能识别出用户是否正在使用32/64位系统。在帖子here中,仅回答了如果您运行正确位的CMD版本该如何做。
Compo是网站上的用户,过去曾帮助我确定用户正在运行的Windows版本,从而大大减少了用户输入的数量;但是,我仍然没有找到针对Windows“位”的干净解决方案。
答案 0 :(得分:3)
怎么样:
if "%PROCESSOR_ARCHITECTURE%" EQU "x86" (
rem 32 bit
) else (
rem 64 bit
)
如果有人在64位系统上运行32位命令提示符(即使操作系统是64位,它将标识为32位),这会带来一点复杂,但这可以使用以下方法解决:
if "%PROCESSOR_ARCHITECTURE%" EQU "x86" (
if "%PROCESSOR_ARCHITEW6432%" EQU "AMD64" (
rem 64 bit OS, but running a 32 bit command prompt
) else (
rem 32 bit OS
)
) else (
rem 64 bit OS
)