gpt4 book ai didi

windows - 闪存驱动器上的批处理文件 - 如何检查操作系统架构?

转载 作者:可可西里 更新时间:2023-11-01 09:56:29 25 4
gpt4 key购买 nike

我正在设置一个可移植的开发环境。我正在尝试从批处理文件中获取我的闪存驱动器插入的当前系统的位数(32 位或 64 位),以便我可以使用正确版本的 IDE。

这篇文章是一个开始:http://support.microsoft.com/kb/556009但它使用相对地址,当然我的闪存驱动器没有操作系统,所以代码每次都默认为 i586。

执行此操作所需的 LOC 是什么?

最佳答案

Tobias Schlegel 的解决方案有一个警告:PROCESSOR_ARCHITECTURE 环境变量仅返回当前进程的位数。由于 WoW64 仿真,在 64 位机器上,PROCESSOR_ARCHITECTURE 在 32 位进程中仍将是“x86”。

为了解决这个问题,Microsoft 添加了一个新的环境变量 PROCESSOR_ARCHITEW6432,它仅在运行在 WoW64 下的进程中定义。

因此正确的代码是:

if "%PROCESSOR_ARCHITECTURE%" == "x86" if "%PROCESSOR_ARCHITEW6432%" == "" goto Arch32
goto Arch64

:Arch32
echo System architecture is 32-bit!
goto:eof

:Arch64
echo System architecture is 64-bit!
goto:eof

这种区别很重要,因为如果您在 64 位计算机上从 32 位进程启动 cmd.exe,则 cmd.exe 将在 WoW64 下运行,因此接受的解决方案将是不正确的。

关于windows - 闪存驱动器上的批处理文件 - 如何检查操作系统架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7004446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com