Oh ja stimmt, mir war die Unlogik mit dem Punkt in "*.*" schon gar nicht mehr aufgefallen, weil ich es seit CP/M (als Vorläufer von DOS) so kenne, wo es als Maske für alle Verzeichniseinträge stand.photor hat geschrieben: Di 8. Apr 2025, 19:04 Also dorum getestet: mit "*.*" bekomme ich unter Linux eine leere Liste zurück (ist ja auch klar; es gibt keine Ordner mit einem "." im Namen; und eine RegExp ist es ja nicht).
CP/M (ab 1974) verwendete in seinem Dateisystem ein festes Namensformat von 8.3 Zeichen, das dann in der FAT (Microsoft 1977) von QDOS und MS-DOS (1981) übernommen wurde.
Oh Mann, ich habe tatsächlich in den 80ern mal mit CP/M gearbeitet!

Solange Windows noch auf DOS aufsetzte, blieb "*.*" als verpflichtende Maske, wenn man alle Verzeichniseinträge abrufen wollte, auch wenn die Namen gar keinen "." enthielten.
Angeblich soll Windows seit NT/2000 auch das logischere pure "*" verstehen, weil diese Windows-Versionen nicht mehr auf DOS aufsetzen und ein eigenes (Kommandozeilen-)Subsystem mitbringen.
Habe nachgeguckt: Die Konstante AllFilesMask ist in FreePascal unter Windows auch als "*" definiert, somit scheint man auf allen modernen Systemen "*" nutzen zu können.Sieben hat geschrieben: Di 8. Apr 2025, 18:43 Gibt auch die Konstante AllFilesMask - Unit System - die einem Compiler-Direktiven erspart.
Aber neulich war hier im Forum doch ein Post von jemandem, der noch mit Turbo Pascal cross-kompiliert, oder?

Grüße, Jörg