Für Volumes , die lange Dateinamen unterstützen (einschließlich VFAT-, FAT32- und NTFS-Volumes), gibt es einige besondere Überlegungen . Alle Dateien auf solchen Volumes haben einen kurzen (FAT-kompatiblen 8.3) Dateinamen (SFN). Eine Datei, die mit einem Namen erstellt (oder umbenannt) wurde, der Kleinbuchstaben oder andere Zeichen enthält, die nicht mit SFNs kompatibel sind, oder mit einem Namen, der länger als 8 Zeichen ist, oder mit einer Erweiterung, die länger als 3 Zeichen ist, oder mit mehr als einem Punkt (.) in ihrem Namen, hat sowohl den angegebenen langen Dateinamen (LFN) als auch einen SFN, der automatisch vom Dateisystem generiert wird. Der einem LFN zugeordnete SFN kann sich ändern, wenn die Datei verschoben oder kopiert wird, auch wenn der LFN nicht geändert wird.
Wenn CMD eine Wildcard-Suche durchführt, sucht es nach beiden Formen jedes Dateinamens. Zuerst werden die langen Dateinamen geprüft, dann die kurzen Dateinamen. Übereinstimmende Dateien, die nur einen kurzen Dateinamen haben, werden bei der ersten Suche gefunden, da das Dateisystem in diesem Fall den SFN-Namen so behandelt, als wäre er ein LFN.
Nehmen Sie zum Beispiel an, Sie haben zwei Dateien in einem Verzeichnis mit diesen Namen:
Langer Name Kurzer Name
Brief Home.DOC LETTER~1.DOC
Brief02.DOC BRIEF02.DOC
Eine Suche nach LETTER?.DOC findet beide Dateien. Die zweite Datei (Letter02.DOC) wird bei der Suche nach langen Dateinamen gefunden. Die erste Datei (Letter Home.DOC) wird bei der Suche nach kurzen Dateinamen gefunden , gibt aber LFN zurück.
Diese doppelte Suche kann zu sehr unerwarteten oder sogar katastrophalen Ergebnissen führen, TCC standardmäßig nur nach dem LFN suchen. Sie können die Voreinstellung mit der Option Nach SFNs suchen im Dialogfeld OPTION / Startup ändern.
Seien Sie besonders vorsichtig, wenn Sie Wildcards verwenden, um Operationen auf LFN-Volumes durchzuführen, wenn Sie die Option Suche nach SFNs eingestellt haben, da Sie möglicherweise mehr Dateien auswählen, als Sie beabsichtigt haben. Windows erzeugt zum Beispiel oft kurze Dateinamen, die mit ~1, ~2 usw. enden . Wenn Sie einen Befehl verwenden wie:
del *1.*
verwenden,löschen Sie alle diese Dateien, einschließlich der meisten Dateien mit langen Dateinamen, was wahrscheinlich nicht das von Ihnen beabsichtigte Ergebnis ist!