Slik aktiverer du kodesensitive filer og mapper på Windows 10
Windows 10 tilbyr nå et valgfritt case-sensitive filsystem, akkurat som Linux og andre UNIX-lignende operativsystemer. Alle Windows-prosesser håndterer bokstavsfølsomme filer og mapper på riktig måte hvis du aktiverer denne funksjonen. Med andre ord, vil de se "fil" og "fil" som to separate filer.
Slik fungerer dette
Dette er en NTFS-filsystemfunksjon som du kan aktivere på per-katalog basis. Det gjelder ikke hele filsystemet ditt, så du kan bare aktivere hukommelsesfølsomhet for bestemte mapper du bruker til utviklingsformål.
Kassefølsomhet ble lagt til i Windows 10s april 2018-oppdatering. Før dette var det mulig å montere Windows-mapper som sakssensitiv i Bash on Windows-miljøet, også kjent som Windows Subsystem for Linux. Det fungerte bra i Linux-miljøet, men det forvirret normale Windows-applikasjoner. Dette er nå en filsystemnivåfunksjon, som betyr at alle Windows-applikasjoner vil se et saksensitivt filsystem i den mappen også.
Denne funksjonen er aktivert via fsutil.exe
kommando, som du må løpe fra kommandolinjen. Du kan gjøre det fra enten et kommandoprompt eller et PowerShell-vindu. Med standardinnstillingene blir også mapper du lager i Linux-miljøet automatisk konfigurert til å være sakssensitiv.
Slik setter du inn en katalog som sakfølsom
For å komme i gang, høyreklikk Start-knappen, og velg deretter "PowerShell (Administrator)" -kommandoen. Hvis du foretrekker å bruke kommandoprompt, kan du søke etter "Kommandoprompt" i Start-menyen, høyreklikk den og velg deretter "Kjør som administrator" -kommandoen. Kommandoen fungerer det samme, uansett hvilket kommandolinjemiljø du velger.
Det kan hende du ikke trenger administratortilgang for å kjøre denne kommandoen, avhengig av dine tillatelser. Teknisk, du trenger "skriveattributter" tillatelse for katalogen du vil endre. I de fleste tilfeller betyr dette at du må ha administratorrettigheter hvis du vil redigere en mappe et sted utenfor brukermappen din - for eksempel c: \ prosjekt - og ikke hvis du vil endre en mappe et sted inne i brukermappen din som ved c: \ users \NAVN\prosjekt.
Før du fortsetter, må du være sikker på at ingen kjørende Linux-programvare for øyeblikket refererer til katalogen du skal endre. Du bør ikke endre sårfølsomhetsflagget i en mappe mens Linux-programvaren har tilgang til den. Hvis noen løpende Linux-prosesser for øyeblikket har katalogen eller noe inne i katalogen åpen, vil Linux-programmer ikke gjenkjenne endringen, og det kan oppstå problemer som deres nåværende arbeidskatalog..
For å lage en mappe saksfølsom, skriv følgende kommando, erstatt "C: \ folder" med banen til mappen:
fsutil.exe filsettCaseSensitiveInfo C: \ folder enable
Hvis mappebanen har en plass i den, legger du hele banen i anførselstegn, slik som:
fsutil.exe filsettCaseSensitiveInfo "C: \ min mappe" aktivere
Dette påvirker ikke undermapper
Feltets følsomhetsflagg påvirker bare den spesifikke mappen som du bruker den på. Det er ikke automatisk arvet av mappens undermapper.
Med andre ord, hvis du har en mappe med navnet C: \ folder, og den har C: \ folder \ test og C: \ folder \ stuff undermapper inni den, gjør det bare å lage C: \ folder "Test" og "stuff" undermapper inni det er saksfølsomt. Du må løpe det riktige fsutil
kommandoen separat for å gjøre alle tre mappene saksfølsomme.
Linux-verktøy Opprett tilfellefølsomme mapper som standard
Linux-verktøy du kjører inne i Windows Subsystem for Linux (Bash shell) lager nå mapper med det saksfølsomme flaggsettet. Så, om du bruker mkdir
kommandoen for å lage en katalog i et Bash-skall eller et utviklingsverktøy gjør det for deg, er den opprettede katalogen automatisk angitt som saksfølsom - selv om du lager den på ditt monterte Windows-filsystem.
Teknisk skjer dette fordi DrvFs filsystemet for Linux-miljøet bruker Ved = dir
flagg som standard. De Ved = dir
alternativet angir Linux-miljøet for å respektere hver mappes NTFS-flagg, og å automatisk angi saksfølsomhetsflagget på kataloger opprettet fra Linux-miljøet. Du kan endre dette valget i wsl.conf-filen, hvis du vil.
Så lenge du lager mapper fra Linux-miljøet, er de opprettet med de riktige saksfølsomhetsinnstillingene, og du trenger aldri å berøre kommandoen fsutil.exe.
Slik sjekker du om et katalog er tilfellefølsomt
For å sjekke om en katalog for øyeblikket er saksfølsom, kjør følgende kommando, erstatt "C: \ folder" med banen til mappen.
fsutil.exe fil queryCaseSensitiveInfo C: \ folder
Hvis saken følsomhet er aktivert for en katalog, vil du se at "Saksfølsom attributt på katalog [sti] er aktivert." Hvis katalogen bruker standard Windows-sår-ufølsomhet, vil du se at "Saksfølsom attributt på katalog [sti] er deaktivert. "
Hvordan lage et katalog tilfelle ufølsomt
For å fortryke endringen og gjøre en katalog tilfelle ufølsom igjen (som Bill Gates ment det), kjør følgende kommando, erstatt "C: \ folder" med banen til mappen.
fsutil.exe filsettCaseSensitiveInfo C: \ folder deaktivere
Hvis du prøver å deaktivere følsomhet for en mappe som inneholder filer med navn som vil kollidere, vil du se en feilmelding: katalogen er ikke tomt. Du må fjerne eller omdøpe de motstridende filene før du fortsetter.