Hoe u hoofdlettergevoelige bestands- en mapnamen in Windows 10 inschakelt
Windows 10 biedt nu een optioneel hoofdlettergevoelig bestandssysteem, net als Linux en andere UNIX-achtige besturingssystemen. Alle Windows-processen behandelen hoofdlettergevoelige bestanden en mappen op de juiste manier als u deze functie inschakelt. Met andere woorden, ze zullen "bestand" en "Bestand" zien als twee afzonderlijke bestanden.
Hoe dit werkt
Dit is een NTFS-bestandssysteemfunctie die u per map kunt inschakelen. Het is niet van toepassing op uw gehele bestandssysteem, dus u kunt hoofdlettergevoeligheid inschakelen voor specifieke mappen die u gebruikt voor ontwikkelingsdoeleinden.
Hoofdlettergevoeligheid is toegevoegd in de update van Windows 10 van april 2018. Voordien was het mogelijk Windows-mappen te koppelen als hoofdlettergevoelig binnen de Bash on Windows-omgeving, ook bekend als het Windows-subsysteem voor Linux. Dat werkte prima in de Linux-omgeving, maar het verwarde normale Windows-applicaties. Dit is nu een functie op bestandsniveauniveau, wat betekent dat alle Windows-applicaties ook een hoofdlettergevoelig bestandssysteem in die map zullen zien.
Deze functie is ingeschakeld via de Fsutil.exe
opdracht, die u moet uitvoeren vanaf de opdrachtregel. U kunt dit doen vanuit een opdrachtprompt of PowerShell-venster. Met de standaardinstellingen worden mappen die u maakt binnen de Linux-omgeving ook automatisch geconfigureerd om hoofdlettergevoelig te zijn.
Een directory instellen als hoofdlettergevoelig
Om aan de slag te gaan, klikt u met de rechtermuisknop op de knop Start en selecteert u vervolgens de opdracht "PowerShell (beheerder)". Als u liever de opdrachtprompt gebruikt, kunt u zoeken naar "Opdrachtprompt" in het menu Start, klik er met de rechtermuisknop op en selecteer vervolgens de opdracht "Uitvoeren als beheerder". De opdracht werkt hetzelfde, ongeacht de opdrachtregelomgeving die u kiest.
U hebt misschien geen beheerdersrechten nodig om deze opdracht uit te voeren, afhankelijk van uw rechten. 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 hebt 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 doorgaat, moet u ervoor zorgen dat er momenteel geen Linux-software draait die verwijst naar de directory die u gaat wijzigen. Wijzig de vlag van hoofdlettergevoeligheid in een map niet terwijl Linux-software deze gebruikt. Als een of meer draaiende Linux-processen momenteel de map hebben of iets in de map open is, zelfs als hun huidige werkdirectory, zullen Linux-applicaties de wijziging niet herkennen en kunnen er problemen optreden.
Om een mapgeval gevoelig te maken, typt u de volgende opdracht, waarbij u "C: \ map" vervangt door het pad naar de map:
fsutil.exe bestand setCaseSensitiveInfo C: \ map inschakelen
Als het mappad een spatie bevat, plaatst u het hele pad tussen aanhalingstekens, zoals:
fsutil.exe-bestand setCaseSensitiveInfo "C: \ mijn map" inschakelen
Dit heeft geen effect op submappen
De vlag van hoofdlettergevoeligheid heeft alleen invloed op de map waarin u deze toepast. Het wordt niet automatisch overgenomen door de submappen van die map.
Met andere woorden, als u een map hebt met de naam C: \ map en deze heeft C: \ map \ test en C: \ map \ stuff-submappen erin, hoeft u de map C: \ map niet hoofdlettergevoelig te maken. "Test" en "stuff" -submappen binnen het hoofdlettergevoelig. U moet het juiste uitvoeren fsutil
commando afzonderlijk om alle drie mappen hoofdlettergevoelig te maken.
Linux-hulpmiddelen Maak hoofdlettergevoelige mappen standaard
Linux-tools die je binnen het Windows-subsysteem voor Linux uitvoert (Bash-shell), maken nu mappen met de hoofdlettergevoelige vlag. Dus, of u de mkdir
commando om een directory binnen een Bash shell te maken of een development tool doet het voor jou, de aangemaakte map wordt automatisch ingesteld als hoofdlettergevoelig - zelfs als je het op je gekoppelde Windows bestandssysteem maakt.
Technisch gezien gebeurt dit omdat het bestandssysteem van DrvFs voor de Linux-omgeving de zak = dir
vlag standaard. De zak = dir
optie stelt de Linux-omgeving in op respect voor de NTFS-vlag van elke map en stelt automatisch de vlag van hoofdlettergevoeligheid in op mappen die zijn gemaakt vanuit de Linux-omgeving. U kunt deze optie in uw wsl.conf-bestand wijzigen, als u dat wilt.
Zolang u mappen maakt vanuit de Linux-omgeving, worden deze gemaakt met de juiste hoofdlettergevoeligheidsinstellingen en hoeft u nooit de opdracht fsutil.exe aan te raken.
Hoe te controleren of een map hoofdlettergevoelig is
Om te controleren of een map hoofdlettergevoelig is, voert u de volgende opdracht uit en vervangt u "C: \ map" door het pad naar de map.
fsutil.exe-bestand queryCaseSensitiveInfo C: \ map
Als hoofdlettergevoeligheid is ingeschakeld voor een map, ziet u dat het hoofdlettergevoelig kenmerk at map [pad] is ingeschakeld. Als de map de standaard Windows-hoofdletterongevoeligheid gebruikt, ziet u dat het hoofdlettergevoelig kenmerk map [pad] is uitgeschakeld. "
Een directorycase ongevoelig maken
Om uw wijziging ongedaan te maken en een directory-map opnieuw ongevoelig te maken (zoals Bill Gates het bedoeld had), voert u de volgende opdracht uit en vervangt u "C: \ map" door het pad naar de map.
fsutil.exe bestand setCaseSensitiveInfo C: \ map uitschakelen
Als u hoofdlettergevoeligheid uitschakelt voor een map die bestanden bevat met namen die zouden botsen, wordt het bericht 'Fout: de map is niet leeg' weergegeven. U moet de conflicterende bestanden verwijderen of de naam ervan wijzigen voordat u doorgaat.