Warum tut:
dir "test.txt "
dir test.txt.
dir "test.txt . . ."
alle Listen test.txt ohne Fehler in der Windows-Eingabeaufforderung? Gibt es noch andere Suffixe, die von Windows ignoriert werden?
(bitte beachten Sie, dass ich am Ende des Dateinamens ein Leerzeichen und einen Punkt hinzugefügt habe)
Antwort1
Die Windows-Shell lässt nicht zu, dass ein Datei- oder Ordnername mit einem Punkt oder Leerzeichen endet. Es gibt Low-Level-Routinen, die in vielen Situationen, auch bei Verwendung mit , nachfolgende Punkte und/oder Leerzeichen automatisch entfernen DIR
.
In einem Artikel im Windows Dev Center von Microsoft habe ich die folgende Bestätigung gefunden, dass Namen nicht mit einem Punkt oder Leerzeichen enden dürfen:Benennen von Dateien, Pfaden und Namespaces
Beenden Sie einen Datei- oder Verzeichnisnamen nicht mit einem Leerzeichen oder einem Punkt. Das zugrunde liegende Dateisystem unterstützt möglicherweise solche Namen, die Windows-Shell und -Benutzeroberfläche jedoch nicht. Es ist jedoch zulässig, einen Punkt als erstes Zeichen eines Namens anzugeben. Beispiel: „.temp“.