Engedélyezze a kis- és nagybetűk megkülönböztető módot a mappákhoz a Windows 10 rendszerben
Amint azt már Ön is tudja, a Windows fájlrendszer, az NTFS, a fájl- és mappaneveket a kis- és nagybetűk megkülönböztetése nélkül kezeli. Például az operációs rendszer és az alkalmazások esetében a MyFile.txt és a myfile.txt ugyanaz a fájl. A Linuxban azonban más a helyzet. Ennél az operációs rendszernél ez két különböző fájl. Ez a viselkedésbeli különbség problémákat okozhat a WSL-felhasználók számára. Ezek megoldása érdekében a Windows 10 lehetővé teszi a kis- és nagybetűk megkülönböztetését a mappákhoz.
Hirdetés
Ha használta a Windows alrendszer Linuxhoz, valószínűleg tisztában van vele, hogy lehetővé teszi Windows fájlrendszereinek (az /mnt/c, /mnt/d stb. alá csatolt) kis- és nagybetűk megkülönböztetését. Ez többek között azt jelenti, hogy létrehozhat olyan fájlokat, amelyek neve csak kis- és nagybetűk szerint különbözik (pl. foo.txt és FOO.TXT).
A fájlok Windows rendszerben való használata azonban nem igazán volt lehetséges. Mivel a Windows alkalmazások a fájlrendszert nem különböztetik meg a kis- és nagybetűket, nem tudnak különbséget tenni a fájlok között, amelyek neve csak kis- és nagybetűk esetén tér el. Míg a File Explorer mindkét fájlt megjeleníti, csak az egyik nyílik meg, függetlenül attól, hogy melyikre kattintott.
A Windows Insider build 17093-tól kezdődően új módja van a kis- és nagybetűkre érzékeny fájlok kezelésének a Windows rendszerben: könyvtáronkénti kis- és nagybetűérzékenység. Ezt a képességet azért adták hozzá, hogy a felhasználó jobb együttműködést biztosítson a kis- és nagybetűkre érzékeny fájlok használatakor. Ezenkívül normál Windows-alkalmazásokkal is használhatja. A Windows 10 Build 17110-től kezdve ez a viselkedés az alapértelmezett.
További részletek
Kis- és nagybetűk érzékenysége Windowsban
A Windows NT operációs rendszercsalád (beleértve a Windows 10-et is) mindig is képes volt kis- és nagybetűkre érzékeny fájlrendszer-műveleteket végrehajtani. A pályázatok átadhatják a FILE_FLAG_POSIX_SEMANTICS
zászlót a CreateFile
API annak jelzésére, hogy az elérési utat kis- és nagybetűk megkülönböztetőként kívánják kezelni. Kompatibilitási okokból azonban létezik egy globális rendszerleíró kulcs, amely felülírja ezt a viselkedést; ha ez a kulcs be van állítva, az összes fájlműveletben nincs különbség a kis- és nagybetűk között, még akkor is, ha a FILE_FLAG_POSIX_SEMANTICS
zászló van megadva. A Windows XP óta ez az alapértelmezett.
A Windows alrendszer Linuxhoz egy másik mechanizmust használ, amely maga is megkerüli ezt a rendszerleíró kulcsot, lehetővé téve számunkra, hogy kis- és nagybetűkre érzékeny fájlrendszeri műveleteket hajtsunk végre. Ez az, ami lehetővé teszi, hogy a WSL-ben futó Linux-alkalmazások csak kis- és nagybetűktől eltérő fájlneveket használhassanak, akárcsak a valódi Linuxon, még a globális rendszerleíró kulcskészlettel is.
Sajnos ez olyan fájlokat hagy maga után, amelyekhez a Windows-alkalmazások nem férhetnek hozzá. Bár módosíthatja a globális rendszerleíró kulcsot, ez továbbra is csak azoknál az alkalmazásoknál működik, amelyek használják FILE_FLAG_POSIX_SEMANTICS
, és ez megváltoztatná az összes meghajtón lévő összes fájl viselkedését, ami lehet, hogy nem szándékos, és megszakíthat egyes alkalmazásokat.
Könyvtáronkénti kis- és nagybetűérzékenység
A probléma megoldása érdekében a Microsoft hozzáadott egy új kis- és nagybetűket érzékeny jelzőt, amely a könyvtárakra is alkalmazható. Azon könyvtárakban, amelyeknél ez a jelző be van állítva, az adott könyvtárban lévő fájlokon végzett összes művelet megkülönbözteti a kis- és nagybetűket, függetlenül attól, hogy van-e FILE_FLAG_POSIX_SEMANTICS
volt megadva. Ez azt jelenti, hogy ha két olyan fájlja van, amelyek csak kis- és nagybetűk szerint különböznek egymástól egy kis- és nagybetűk megkülönböztetőként megjelölt könyvtárban, akkor minden alkalmazás hozzáférhet hozzájuk.
Engedélyezze a kis- és nagybetűk megkülönböztetését a mappákhoz
A funkció engedélyezéséhez vagy letiltásához használja a beépített fsutil.exe alkalmazást.
A kis- és nagybetűk megkülönböztetésének engedélyezése mappákhoz, csináld a következőt.
- Nyisd ki emelt szintű parancssor.
- Írja be a következő parancsot:
fsutil.exe fájl setCaseSensitiveInfo „mappa teljes elérési útja” engedélyezése
Cserélje ki az elérési út részt a számítógépének megfelelő útvonallal.
Például,fsutil.exe fájl setCaseSensitiveInfo "C:\data\Winaero\Linux" engedélyezése
- Kész vagy.
Most már létrehozhat két fájlt azonos névvel, és csak kis- és nagybetűk különbséggel. A Windows 10 megfelelően feldolgozza őket ebben a mappában.
Egy mappa szolgáltatásállapotának megtekintéséhez futtassa a parancsot
fsutil.exe fájl queryCaseSensitiveInfo "mappa teljes elérési útja"
Például,
fsutil.exe fájl queryCaseSensitiveInfo "C:\data\Winaero\Linux"
Valami ehhez hasonlót fog látni:
Végül, a kis- és nagybetűk megkülönböztetésére szolgáló mód letiltásához a mappákban, futtassa a következő parancsot a rendszergazdaként megnyitott parancssorban:
fsutil.exe fájl setCaseSensitiveInfo "C:\data\Winaero\Linux" letiltása
Használja a megfelelő mappa elérési utat, és kész.
Jegyzet: A CaseSensitiveInfo attribútum letiltása nem üres mappák esetén nem támogatott. A mappa letiltása előtt minden fájlt el kell távolítania a mappából.
Ez az.