由于复杂的原因,我不得不复制一份相同的 cmd.exe,并将其重命名为 cmd-2.exe,并在任务栏中放置了它的快捷方式。这样做的原因纯粹是为了将它们“分组”到不同的“任务栏组”,仅此而已。
有时,我会忘记这一点,要打开一个新的 cmd.exe,我只需单击任务栏图标即可打开一个新的 cmd.exe。然后我输入诸如“dir”之类的命令,然后它会吐出一堆废话,包括:
DNS bad key.
这种情况只会在我意外使用 cmd-2.exe 时发生。如果我打开“真正的”cmd.exe,则不会发生。所以这不是一个“实际”问题。
但是,我很奇怪为什么这条消息会被打印出来。它显然无法进行某种 DNS 查找之类的操作?为什么当我输入“dir”来列出本地计算机中的文件时,DNS 会参与其中?我没有设置网络,没有“云驱动器”,什么都没有。当我输入“dir”时,(显然)会进行 DNS 查询,这让我很害怕。
或者“DNS 坏密钥”可能指的是与域名系统完全无关的东西?我甚至不知道在这种情况下“坏密钥”是什么意思……
答案1
该错误与 DNS 无关,是从错误数据库文件中读取错误。
发生这种情况是因为您的第二个 cmd-2.exe 无法从 cmd.exe.mui 资源库(其错误消息数据库)中定位并加载本地化字符串。
此问题从 Windows Vista 开始出现。所有文本消息都被编译成一个单独的文件 (.mui),因此 Windows 会搜索带有新 CMD 名称的消息文件,但无法找到它。
要修复该问题:将文件复制到文件夹%WinDir%\System32\en-US
(或您的语言)中cmd.exe.mui to cmd-2.exe.mui
。
不这样做将会导致出现奇怪的、不相关的消息。