
Aus komplizierten Gründen war ich gezwungen, eine identische Kopie von zu erstellen cmd.exe
und sie in umzubenennen cmd-2.exe
, die ich als Verknüpfung auf der Taskleiste platziert habe, um sie in verschiedenen Taskleistengruppen zu „gruppieren“.
Manchmal vergesse ich das und öffne ein neues, indem cmd.exe
ich mit der mittleren Maustaste auf das Taskleistensymbol klicke cmd.exe
. Dann gebe ich einen Befehl wie ein dir
und es spuckt eine Menge Unsinn aus, darunter: DNS bad key
, was nur passiert, wenn ich versehentlich verwende cmd-2.exe
, nicht, wenn ich das „echte“ öffne cmd.exe
. Es handelt sich also nicht um ein „praktisches“ Problem.
Ich frage mich jedoch, warum diese Meldung überhaupt gedruckt wird. Scheitert offenbar eine DNS-Suche oder so etwas? Warum ist DNS überhaupt involviert, wenn ich dir
Dateien auf meinem lokalen Computer aufliste? Ich habe kein Netzwerk eingerichtet, keine Cloud-Laufwerke, nichts dergleichen. Es macht mir Angst, dass (anscheinend) DNS-Abfragen durchgeführt werden, wenn ich ausführe dir
.
Bezieht sich vielleicht DNS bad key
auf etwas, das überhaupt nichts mit dem Domain Name System zu tun hat? Ich weiß nicht einmal, was in diesem Zusammenhang ein „schlechter Schlüssel“ wäre.
Antwort1
Die zweite cmd.exe kann die lokalisierten Zeichenfolgen nicht aus der Satellitenressourcenbibliothek cmd.exe.mui finden und laden.
Folgendes soll der eigentliche Zweck der Datei sein (entnommen aus 10.0.18362.1 (160101.0800):
- 0x235F: „Volume im Laufwerk %1 ist %2“
- 0x235B: „Die Seriennummer des Datenträgers ist %1“
- 0x2339: „Verzeichnis von %1“
Dies sind eigentlich die ersten drei Zeilen einer einfachen dir
Befehlsausgabe.
Das ist witzig. In der Standardsystemnachrichtentabelle gibt es keine Einträge für die Nachrichtennummern 0x235F und 0x235B. Für die ersten beiden Ausgaben erhalten Sie also diese kryptische Nachricht, wie sie im Konsolen-Screenshot von @harrymc zu sehen ist.
Für 0x2339 gibt es jedoch einen Eintrag in der Standardsystemnachrichtentabelle, der physisch in KernelBase.dll.mui gespeichert ist und auf den Text „DNS bad key“ verweist:
Es ist nur so, dass es die Nummer der Zeile „Verzeichnis von %1“ der Ressourcen des Befehlsprozessors teilt: ein Fallback, den die Entwickler von cmd.exe nicht vorgesehen haben. Der DNS-Verweis ist also nur ein Zufall, es könnte alles Mögliche sein.
Beachten Sie, dass die eigentliche Nachricht ein variables Argument (den Verzeichnisnamen) enthält, während die DNS-Nachricht dies nicht tut. Ich vermute, deshalb gibt es danach keine weitere Ausgabe mehr - es könnte einfach beendet werden.
Antwort2
Ich habe es geschafft, das Problem zu reproduzieren:
(Ich stimme zu, dass die Nachrichten nicht sehr informativ sind.)
Das Problem besteht darin, dass ab Vista alle Textnachrichten in einer separaten Datei zusammengestellt werden. Windows würde daher nach einer Nachrichtendatei mit Ihrem neuen CMD-Namen suchen und diese nicht finden können.
Es reicht nicht, cmd.exe
nach zu kopieren. Sie müssen die Datei auch in den Ordner (oder Ihre Sprache) nach cmd-2.exe
kopieren , sonst erhalten Sie diese verrückten Meldungen jedes Mal, wenn eine Meldung ausgegeben werden muss.%WinDir%\System32\en-US
cmd.exe.mui
cmd-2.exe.mui
cmd-2.exe
Hinweis: „DNS“ bezieht sich hier nicht auf das Internet Domänennamensystem. Das ist reiner Zufall.