Windows API für den Zugriff auf Pfade, bei denen zwischen Groß- und Kleinschreibung unterschieden wird (Bash-on-Ubuntu-on-Windows)

Bash-on-Ubuntu-on-Windows unterstützt Dateipfade, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Dies bedeutet, dass ich zwei Dateien oder Verzeichnisse mit Namen erstellen kann, deren Groß- und Kleinschreibung nur unterschiedlich ist. Ich habe jedoch Probleme beim Zugriff auf diese Dateien.

Laufe

bash -c "touch Magic ; mkdir magic ; echo Secret! > magic/secret"

Erstellt einen DateinamenMagic, ein Verzeichnis mit dem Namenmagic und ein Dateinamesecret in diesem Verzeichnis.

bash -c "ls -lR" ergibt

.:
total 0
drwxrwxrwx 2 root root 0 Aug 23 10:37 magic
-rwxrwxrwx 1 root root 0 Aug 23 10:37 Magic

./magic:
total 0
-rwxrwxrwx 1 root root 8 Aug 23 10:37 secret

(Ich bin nicht sicher, warum ich @ bekomroot, da es nicht der Standardbenutzer ist, aber das scheint für meine Frage nicht relevant zu sein.)

Windows Explorer zeigt:

Jetzt, währendbash kann leicht auf das @ zugreifmagic/secret -Datei im Verzeichnis, scheint Windows sowohl das Verzeichnis als auch die Datei als ein und dasselbe zu behandeln. Wenn Sie also auf das Verzeichnis doppelklicken, wird der Fehler "Verzeichnisname ungültig" angezeigt.

Das gleiche gilt für die Verwendung voncd, wie ich bekommeThe directory name is invalid. ausgedruckt

Gibt es APIs, mit denen ich auf Pfade zugreifen oder diese erstellen kann? Es scheint, dass normale Windows-APIs die Groß- und Kleinschreibung beim Zugriff auf vorhandene Dateien vollständig ignorieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage