Zoals u wellicht al weet, behandelt het Windows-bestandssysteem, NTFS, bestands- en mapnamen als hoofdletterongevoelig. Voor het besturingssysteem en de apps zijn MyFile.txt en myfile.txt bijvoorbeeld hetzelfde bestand. De zaken zijn echter anders in Linux. Voor dit besturingssysteem zijn dit twee verschillende bestanden. Dit verschil in gedrag kan problemen veroorzaken voor WSL-gebruikers. Om ze op te lossen, bevat Windows 10 de mogelijkheid om de hoofdlettergevoelige modus voor mappen in te schakelen.
Advertentie
Als u de Windows-subsysteem voor Linux , weet u waarschijnlijk dat u hiermee uw Windows-bestandssystemen (aangekoppeld onder / mnt / c, / mnt / d, enz.) als hoofdlettergevoelig kunt behandelen. Dit betekent onder meer dat u bestanden kunt aanmaken waarvan de namen alleen per hoofdletter verschillen (bijv. Foo.txt en FOO.TXT).
Het gebruik van die bestanden in Windows was echter niet echt mogelijk. Aangezien Windows-applicaties het bestandssysteem als hoofdletterongevoelig behandelen, kunnen ze geen onderscheid maken tussen bestanden waarvan de namen alleen in hoofdletters en kleine letters verschillen. Hoewel File Explorer beide bestanden zou tonen, wordt er maar één geopend, ongeacht op welke u klikt.
Beginnend met Windows insider build 17093, is er een nieuwe manier om hoofdlettergevoelige bestanden in Windows te behandelen: hoofdlettergevoeligheid per map. Deze mogelijkheid is toegevoegd om de gebruiker een betere interoperabiliteit te geven bij het gebruik van hoofdlettergevoelige bestanden. U kunt het ook gebruiken met gewone Windows-applicaties. Vanaf Windows 10 Build 17110 is dit gedrag de standaardinstelling.
Meer details
Hoofdlettergevoeligheid in Windows
De Windows NT-familie van besturingssystemen (inclusief Windows 10) heeft altijd de mogelijkheid gehad om hoofdlettergevoelige bestandssysteembewerkingen uit te voeren. Toepassingen kunnen hetFILE_FLAG_POSIX_SEMANTICS
vlag naar deCreateFile
API om aan te geven dat ze willen dat het pad als hoofdlettergevoelig wordt behandeld. Om compatibiliteitsredenen is er echter een algemene registersleutel die dit gedrag opheft; als deze sleutel is ingesteld, zijn alle bestandsbewerkingen niet hoofdlettergevoelig, zelfs als deFILE_FLAG_POSIX_SEMANTICS
vlag is opgegeven. Sinds Windows XP is dit de standaardinstelling.
google chrome waar zijn mijn bladwijzers
Het Windows-subsysteem voor Linux gebruikt een ander mechanisme, dat zelf die registersleutel omzeilt, waardoor we hoofdlettergevoelige bestandssysteembewerkingen kunnen uitvoeren. Dit is wat Linux-applicaties die in WSL draaien, in staat stelt om bestandsnamen te gebruiken die alleen per geval verschillen, net zoals ze kunnen op echte Linux, zelfs met die globale registersleutel.
Helaas blijven hierdoor bestanden achter die niet toegankelijk zijn voor Windows-applicaties. Hoewel u de algemene registersleutel zou kunnen wijzigen, zou dat nog steeds alleen werken voor die toepassingen dieFILE_FLAG_POSIX_SEMANTICS
, en dit zou het gedrag voor alle bestanden op alle stations veranderen, wat misschien niet de bedoeling is en het kan sommige applicaties kapot maken.
Hoofdlettergevoeligheid per directory
Om dit probleem op te lossen, heeft Microsoft een nieuwe hoofdlettergevoelige vlag toegevoegd die kan worden toegepast op mappen. Voor mappen die deze vlag hebben ingesteld, zijn alle bewerkingen op bestanden in die map hoofdlettergevoelig, ongeacht ofFILE_FLAG_POSIX_SEMANTICS
was gespecificeerd. Dit betekent dat als u twee bestanden heeft die alleen per hoofdletter verschillen in een map die als hoofdlettergevoelig is gemarkeerd, alle toepassingen er toegang toe hebben.
Hoofdlettergevoelige modus inschakelen voor mappen
Om deze functie in of uit te schakelen, moet u de ingebouwde app fsutil.exe gebruiken.
Hoofdlettergevoelige modus inschakelen voor mappen , doe het volgende.
- Open een verhoogde opdrachtprompt .
- Typ de volgende opdracht:
fsutil.exe bestand setCaseSensitiveInfo 'volledig pad naar uw map' inschakelen
Vervang het padgedeelte door het juiste pad dat overeenkomt met uw pc.
Bijvoorbeeld,fsutil.exe bestand setCaseSensitiveInfo 'C: data Winaero Linux' inschakelen
- Je bent klaar.
Nu kunt u twee bestanden maken met dezelfde naam en met slechts een verschil in hoofdletters en kleine letters. Windows 10 zal ze correct verwerken in deze specifieke map.
grootste harde schijf ter wereld
Voer de opdracht uit om de functiestatus van een map te zien
fsutil.exe bestand queryCaseSensitiveInfo 'volledig pad naar uw map'
Bijvoorbeeld,
fsutil.exe bestand queryCaseSensitiveInfo 'C: data Winaero Linux'
Je ziet zoiets als dit:
chrome duurt lang om te openen
Tenslotte, om de hoofdlettergevoelige modus voor mappen uit te schakelen , voer de volgende opdracht uit in de opdrachtprompt die is geopend als beheerder:
fsutil.exe bestand setCaseSensitiveInfo 'C: data Winaero Linux' uitschakelen
Gebruik het juiste mappad en je bent klaar.
Notitie: Het uitschakelen van het CaseSensitiveInfo-kenmerk voor niet-lege mappen wordt niet ondersteund. U moet alle bestanden uit de map verwijderen voordat u deze uitschakelt.
Dat is het.