
Windows 10 biedt nu een optioneel hoofdlettergevoelig bestandssysteem, net als Linux en andere UNIX-achtige besturingssystemen. Alle Windows-processen behandelen hoofdlettergevoelige bestanden en mappen correct als u deze functie inschakelt. Met andere woorden, ze zien “bestand” en “Bestand” als twee afzonderlijke bestanden.
Hoe dit werkt
Dit is een NTFS-bestandssysteemfunctie die u per directory kunt inschakelen. Het is niet van toepassing op uw volledige bestandssysteem, dus u kunt hoofdlettergevoeligheid inschakelen voor specifieke mappen die u voor ontwikkelingsdoeleinden gebruikt.
Hoofdlettergevoeligheid is toegevoegd in de update van april 2018 van Windows 10. Voordien was het mogelijk om Windows-mappen als hoofdlettergevoelig te mounten binnen de Bash on Windows-omgeving, ook wel bekend als het Windows-subsysteem voor Linux. Dat werkte prima binnen de Linux-omgeving, maar het bracht de normale Windows-applicaties in de war. Dit is nu een functie op bestandssysteemniveau, wat betekent dat alle Windows-toepassingen ook in die map een hoofdlettergevoelig bestandssysteem zullen zien.
Deze functie wordt ingeschakeld via de fsutil.exe opdracht, die u moet uitvoeren vanaf de opdrachtregel. U kunt het doen vanuit een opdrachtprompt of vanuit een PowerShell-venster. Met de standaardinstellingen worden mappen die u maakt in de Linux-omgeving automatisch ook geconfigureerd om hoofdlettergevoelig te zijn.
VERWANT: Alles wat u kunt doen met de nieuwe Bash Shell van Windows 10
Hoe u een directory instelt als hoofdlettergevoelig
Om te beginnen, klikt u met de rechtermuisknop op de Start-knop en selecteert u vervolgens de opdracht “PowerShell (Administrator)”. Als u liever de opdrachtprompt gebruikt, kunt u zoeken naar “Opdrachtprompt” in uw Start-menu, er met de rechtermuisknop op klikken en vervolgens de opdracht “Als administrator uitvoeren” selecteren. De opdracht werkt hetzelfde, ongeacht welke opdrachtregelomgeving u kiest.
Afhankelijk van uw machtigingen heeft u wellicht geen beheerdersrechten nodig om deze opdracht uit te voeren. Technisch gezien heeft u de machtiging “schrijfattributen” nodig voor de map die u wilt wijzigen. In de meeste gevallen betekent dit dat u beheerdersrechten nodig heeft als u een map ergens buiten uw gebruikersmap wilt bewerken – zoals c: project – en niet als u een map ergens in uw gebruikersmap wilt wijzigen – zoals zoals bij c: gebruikers NAAM project.

Voordat u verder gaat, moet u ervoor zorgen dat er momenteel geen actieve Linux-software verwijst naar de map die u gaat wijzigen. U mag de vlag voor hoofdlettergevoeligheid in een map niet wijzigen terwijl Linux-software er toegang toe heeft. Als lopende Linux-processen momenteel de directory of iets anders in de directory open hebben, zelfs als hun huidige werkdirectory, zullen Linux-applicaties de wijziging niet herkennen en kunnen er problemen optreden.
Om een map hoofdlettergevoelig te maken, typt u de volgende opdracht en vervangt u “C: folder” door het pad naar de map:
fsutil.exe file setCaseSensitiveInfo C:folder enable
Als het mappad een spatie bevat, zet u het hele pad tussen aanhalingstekens, zoals:
fsutil.exe file setCaseSensitiveInfo "C:my folder" enable

Dit heeft geen invloed op submappen
De vlag voor hoofdlettergevoeligheid heeft alleen invloed op de specifieke map waarop u deze toepast. Het wordt niet automatisch overgenomen door de submappen van die map.
Met andere woorden, als je een map hebt met de naam C: folder en deze bevat de submappen C: folder test en C: folder stuff, dan zou het simpelweg hoofdlettergevoelig maken van de C: foldermap niet ook de “Test” en “stuff” submappen erin hoofdlettergevoelig. U zou het juiste moeten uitvoeren fsutil opdracht afzonderlijk om alle drie de mappen hoofdlettergevoelig te maken.

Linux-tools maken standaard hoofdlettergevoelige mappen
Linux-tools die u in het Windows-subsysteem voor Linux (Bash-shell) uitvoert, maken nu mappen met de hoofdlettergevoelige vlag. Dus of u nu de mkdir opdracht om een map in een Bash-shell te maken of een ontwikkeltool doet het voor u, de aangemaakte map wordt automatisch ingesteld als hoofdlettergevoelig – zelfs als u deze op uw aangekoppelde Windows-bestandssysteem maakt.
Technisch gezien gebeurt dit omdat het DrvFs-bestandssysteem voor de Linux-omgeving de case=dir vlag standaard. De case=dir optie stelt de Linux-omgeving in om de NTFS-vlag van elke map te respecteren en om automatisch de hoofdlettergevoeligheidsvlag in te stellen op mappen die zijn gemaakt vanuit de Linux-omgeving. U kunt deze optie desgewenst in uw wsl.conf-bestand wijzigen.
Zolang u mappen maakt vanuit de Linux-omgeving, worden ze gemaakt met de juiste instellingen voor hoofdlettergevoeligheid en hoeft u nooit de opdracht fsutil.exe aan te raken.

Hoe u kunt controleren of een directory hoofdlettergevoelig is
Om te controleren of een directory momenteel hoofdlettergevoelig is, voert u de volgende opdracht uit, waarbij u “C: folder” vervangt door het pad naar de map.
fsutil.exe file queryCaseSensitiveInfo C:folder
Als hoofdlettergevoeligheid is ingeschakeld voor een directory, zult u zien dat het “Case sensitive attribute on directory [path] is ingeschakeld.” Als de directory de standaard Windows-hoofdlettergevoeligheid gebruikt, zult u zien dat het “Case sensitive attribute on directory [path] is gehandicapt.”

Hoe u een directory-hoofdletter ongevoelig maakt
Om uw wijziging ongedaan te maken en een directory weer hoofdlettergevoelig te maken (zoals Bill Gates het bedoeld heeft), voert u de volgende opdracht uit, waarbij u “C: folder” vervangt door het pad naar de map.
fsutil.exe file setCaseSensitiveInfo C:folder disable

Als u hoofdlettergevoeligheid probeert uit te schakelen voor een map die bestanden bevat waarvan de namen zouden botsen, ziet u het bericht “Fout: de map is niet leeg”. U moet de conflicterende bestanden verwijderen of hernoemen voordat u doorgaat.
