Bash-on-Ubuntu-on-Windows supports case-sensitive file paths. This means that I can create two files or directories with names only differing in capitalization. I have issues accessing those files, though.
bash -c "touch Magic ; mkdir magic ; echo Secret! > magic/secret"
Creates a file names
Magic, a directory named
magic and a file names
secret in that directory.
bash -c "ls -lR" yields
.: 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
(I am not sure why I get
root, as it is not the default user, but that does not seem relevant to my question.)
bash can easily access the
magic/secret file in the directory, Windows seems to treat both the directory and the file as one and the same. So double-clicking the directory I get a "directory name invalid" error
Same goes for using
cd, as I get
The directory name is invalid. printed out.
Is there any way (other than using Bash) to access the
I've found a way to do it programmatically, with some registry changes. Described here. But it seems that there is no way to do it with existing Windows tooling.