9

老实说,我已经完成了我的功课,并尝试了我能想到的一切,但似乎每次打开 CMD 时,我都会得到 32 位版本,无论我从哪里打开它。我努力了:

  1. Windows 启动 orb -> CMD -> 回车
  2. 键入“C:\Windows\System32\cmd.exe”
  3. 键入“C:\Windows\SysWOW64\cmd.exe”

在每种情况下,我都以管理员权限运行它,并且我关闭了 UAC。我可以说它始终是 32 位,因为在任何情况下我都无法运行 nbstat.exe(我希望从 32 位命令行获得)。

我已经进入 Process Explorer 并且两个版本都是同一 csrss.exe 实例下的节点,这对我来说感觉不对。

有什么想法吗?

4

2 回答 2

8

查看进程是否启动 64 位或 32 位的最简单方法是转到任务管理器的进程选项卡,32 位 CMD 将显示为cmd.exe *32.

启动 64 位 CMD 的一种方法是使用“我的电脑”并双击C:\Windows\System32\cmd.exe.

启动 32 位 CMD 的一种方法是执行相同但双击C:\Windows\SysWOW64\cmd.exe

有点奇怪的观察;似乎如果您从 32 位启动 64 位 CMD,它也会以 32 位启动。这可能就是您一直看到 32 位版本出现的原因。Explorer 是一个 64 位进程,可以在 64 位模式下启动 CMD。

于 2012-04-23T16:09:06.410 回答
3

通过 Windows 路径重定向的魔力,Windows 生成的命令提示符版本与启动过程的位数相匹配。因此,从 32 位程序启动的命令提示符将是 32 位命令提示符,而从 64 位应用程序启动的命令提示符将是 64 位命令提示符 - Microsoft Technet

technet 文章建议创建一个指向 64 位版本的命令提示符可执行文件的符号链接,以阻止重定向。

阅读评论表明存在一种更简单的方法(不是 Win XP),您可以使用虚拟文件夹 C:\Windows\Sysnative 来获取系统工具的本机版本。

因此,要始终在 64 位窗口上获得 64 位命令提示符,请执行:

C:\Windows\sysnative\cmd.exe
于 2020-04-05T11:57:26.087 回答