Es wird mal wieder Zeit für eine Nominierung zum Dreckstool. Letzte Woche ist mir unter Windows etwas passiert, was ich nicht fassen konnte…
Anmerkung: Inzwischen schreiben wir das Jahr 2023, und das Folgende „funktioniert“ auch unter Windows 11 noch wie eh und je…
Ich bin nicht sicher, ob es in jedem Fall passiert, aber ich konnte es mit den folgenden Befehlen in der Kommandozeile reproduzieren:
mkdir test cd test echo abc > meinedatei5.txt echo abc > meinedatei4.txt echo abc > meinedatei3.txt echo abc > meinedatei2.txt echo abc > meinedatei1.txt
Man hat also fünf Dateien in einem Verzeichnis. Nun wollte ich eine davon in einem Aufruf verwenden. Weil ich zu faul war, den (in Wirklichkeit längeren) Dateinamen auszuschreiben, habe ich *4* eingetippt und Tab gedrückt. Daraufhin wird normalerweise die erste Datei eingetragen, die eine 4 enthält, hier also… meinedatei2.txt?!?
Ich hab es nochmal probiert. Da musste ich doch irgendwas falsch gemacht haben. Doch wieder dasselbe, der erste Treffer für *4* war meinedatei2.txt, erst der zweite meinedatei4.txt. Also habe ich den dir-Befehl probiert, der alle zu einem Muster passenden Dateien in einem Verzeichnis (Directory) auflistet:
D:\test>dir *4* Datenträger in Laufwerk D: ist Laufwerk Volumeseriennummer: 0815-4711 Verzeichnis von D:\test 20.11.14 13:00 6 meinedatei4.txt 20.11.14 13:00 6 meinedatei2.txt 2 Datei(en), 12 Bytes 0 Verzeichnis(se), 494.001.442.816 Bytes frei
Wieder der falsche Treffer. Ich habe das ganze fassungslos ein paar Kollegen gezeigt. Und einer hat das Problem durchschaut. Er hat sich kurz die Hilfe zum dir-Befehl anzeigen lassen und dann folgendes probiert:
D:\test>dir /x [...] 20.11.14 13:00 6 MED8C2~1.TXT meinedatei1.txt 20.11.14 13:00 6 MEINED~4.TXT meinedatei2.txt 20.11.14 13:00 6 MEINED~3.TXT meinedatei3.txt 20.11.14 13:00 6 MEINED~2.TXT meinedatei4.txt 20.11.14 13:00 6 MEINED~1.TXT meinedatei5.txt
Die alten Computer-Hasen unter uns werden hier schon wissend aufstöhnen. Für die jüngeren: Zu DOS-Zeiten, damals, vor Windows 95, konnten Dateinamen nur 8 Buchstaben plus 3 für die Erweiterung lang sein. Und weil Microsoft anscheinend Dinge nicht gern schlagartig ändert, nur weil sie seit zwei Jahrzehnten veraltet sind, behandelt offensichtlich selbst das dir unter Windows 7 Enterprise in der 64-Bit-Version – das ziemlich sicher nicht in der Lage ist, irgendein 16-Bit-Programm aus den frühen Neunzigern auszuführen – Dateinamen intern nebenbei noch in einer „8.3“-Version. Wenn mehrere mit denselben acht Buchstaben anfangen, wird dann nach mir nicht ersichtlichen Regeln ein bisschen durchnummeriert, ein bisschen umbenannt.
Das wäre mir ja soweit noch egal. Schlimm wird es, wenn das dir dann Dateien anzeigt, die nicht zum Suchmuster passen. Das gilt auch für andere Befehle. Man nehme del *4*. Das löscht dann eben nicht nur die Datei mit der 4, sondern auch die mit der 2. Weil nach einem 20 Jahre alten Muster, dem Mondstand und den Feng-Shui-Kraftfeldern „meinedatei2.txt“ eine „4“ enthält. Irgendwie. Mehr so innerlich halt.