2 ms·
Semi-related: There is now a way to set a case-sensitive flag for NTFS directories `fsutil.exe file setCaseSensitiveInfo C:\folder enable` Here’s an article ab
by Semaphor 6y ago
Semi-related: There is now a way to set a case-sensitive flag for NTFS directories `fsutil.exe file setCaseSensitiveInfo C:\folder enable`
Here’s an article about it: https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10/ https://www.howtogeek.com/354220/how-to-enable-case-sensitiv...
- jussij 6y agoI would suspect using that option would only open up a bunch of other unexpected issues, only because Windows programs have been written expecting that case insensitive file system. Flipping that setting might make the file system case sensitive, but those Windows applications would still be working as if they were running in a case insensitive world.
- Semaphor 6y agoDepends on the application I would think. If they do everything properly, they should let the file system handle it and not care themselves about case-sensitivity.
- jussij 6y agoThe problems start whenever a program asks the user for a file name and it then saves that raw users input. For example lets imagine some sort of batch processing application that runs user defined scripts. To define some batch process, the user provides the name the script to be run, so they enter 'MyScript.py' even though the file lives on disk as the 'myscript.py' file. That batch processing application then saves the user supplied file name 'as is' and everything works fine in default Windows file system mode. However, flipping that file system option to make it case sensitive suddenly the batch processing will fail. As Windows applications don't have to deal with case sensitivity, they don't do things like check if the user has entered the name correctly in terms of case. The just ask the file system if the file exists and likewise, Windows is not checking the case when it does that 'exists' check.
- Semaphor 6y ago> The just ask the file system if the file exists and likewise, Windows is not checking the case when it does that 'exists' check. I haven’t tried it, but I would assume that’s exactly what happens. The file system, with the case-sensitive flag, should return "File does not exist".
- Semaphor 6y agoYeah, I just tested this, works exactly as expected. After creating `Hallo.txt` and calling `File.Exists(@"C:\folder\hallo.txt")`, I get `false` with the attribute enabled, and `true` with it disabled
- gpderetta 6y agokey being "properly". Many programs, especially games, fail under wine because of case sensitiveness and need workarounds.
- Semaphor 6y agoThat’s a different problem though. It sounds like that’s programs calling Name.xyz when the file is called name.xyz That’s probably also the reason why there is no direct way to enables case-sensitivity recursively ;)
- rurban 6y agoThat was always possible using some obscure registry flag. Only people compiling unix projects used that in desperation.
- Semaphor 6y agoI looked it up, assuming you are talking about the keys mentioned here [0], then that is very different as the `fsutils` commands actually makes the normal windows calls on NTFS behave with proper case insensitivity. [0]: https://superuser.com/questions/266110/how-do-you-make-windows-7-fully-case-sensitive-with-respect-to-the-filesystem https://superuser.com/questions/266110/how-do-you-make-windo...
- rurban 6y agoNo. I was referring the cygwin posix=1 mount option, and the 2 FILE_CASE_ flags of GetVolumeInformation(), which a minority used. Before XP flag 1 meant case-sensitive, now it means case-preservant and flag 2 handles case-sensitive search. Stackoverflow talks about NFS and something completely different.