Sådan aktiveres tilfældefølsomme fil- og mappenavne på Windows 10
Windows 10 tilbyder nu et valgfrit, følsomt filsystem, ligesom Linux og andre UNIX-lignende operativsystemer. Alle Windows-processer behandler behørigt følsomme filer og mapper korrekt, hvis du aktiverer denne funktion. Med andre ord vil de se "fil" og "fil" som to separate filer.
Sådan virker dette
Dette er en NTFS-filsystemfunktion, som du kan aktivere pr. Det gælder ikke hele dit filsystem, så du kan bare aktivere tilfældefølsomhed for bestemte mapper, du bruger til udviklingsformål.
Sagsfølsomhed blev tilføjet i Windows 10's april 2018 Update. Forud for dette var det muligt at montere Windows-mapper som case-sensitive inden for Bash on Windows-miljøet, også kendt som Windows Subsystem for Linux. Det fungerede fint i Linux-miljøet, men det forvekslede normale Windows-applikationer. Dette er nu et filsystemniveaufunktion, hvilket betyder, at alle Windows-programmer vil se et case-sensitive filsystem i den pågældende mappe.
Denne funktion er aktiveret via fsutil.exe
kommando, som du skal køre fra kommandolinjen. Du kan gøre det fra enten et kommandoprompt eller et PowerShell-vindue. Med standardindstillingerne bliver mapper, du opretter i Linux-miljøet, automatisk konfigureret til at være case-følsom.
Sådan indstilles en mappe som case-følsom
For at komme i gang skal du højreklikke på knappen Start og derefter vælge kommandoen "PowerShell (Administrator)". Hvis du foretrækker at bruge kommandoprompten, kan du søge efter "Kommandoprompt" i din Start-menu, højreklikke på den og derefter vælge kommandoen Kør som administrator. Kommandoen fungerer ens, uanset hvilket kommandolinjemiljø du vælger.
Du skal muligvis ikke have administratoradgang til at køre denne kommando, afhængigt af dine tilladelser. Teknisk har du brug for "skriveattributter" tilladelse til den mappe, du vil ændre. I de fleste tilfælde betyder det, at du skal have administratorrettigheder, hvis du vil redigere en mappe et sted uden for din brugermappe - f.eks. C: \ project - og ikke hvis du vil ændre en mappe et sted inde i din brugermappe - sådan som ved c: \ users \NAVN\projekt.
Før du fortsætter, skal du være sikker på, at ingen kørende Linux-software refererer til det katalog, du er ved at ændre. Du bør ikke ændre sårfølsomhedsflagget på en mappe, mens Linux-software får adgang til det. Hvis der kører Linux-processer i øjeblikket, har biblioteket eller noget inde i biblioteket åbent, ligesom deres nuværende arbejdskatalog, vil Linux-applikationer ikke genkende ændringen, og der kan opstå problemer.
For at lave en mappehukommelsesfølsom, skriv følgende kommando og erstatte "C: \ folder" med stien til mappen:
fsutil.exe fil sætCaseSensitiveInfo C: \ folder enable
Hvis mappebanen har en plads i den, skal du vedlægge hele stien i citatmærker, som sådan:
fsutil.exe fil sætCaseSensitiveInfo "C: \ min mappe" aktivere
Dette påvirker ikke undermapper
Sagsfølsomhedsflagget påvirker kun den specifikke mappe, som du anvender den på. Det er ikke automatisk arvet af 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 inde i det, vil det simpelthen gøre mappen C: \ folder "Test" og "stuff" -undermapper inde i det er store bogstaver. Du skal løbe det passende fsutil
kommandoen separat for at gøre alle tre mapper følsom.
Linuxværktøjer Opret tilfældefølsomme mapper som standard
Linux-værktøjer, du kører inde i Windows-subsystemet til Linux (Bash shell), opretter nu mapper med det sårfølsomme flagsæt. Så, om du bruger mkdir
kommando til at oprette en mappe inde i en Bash shell eller et udviklingsværktøj gør det til dig, er den oprettede mappe automatisk indstillet til at være følsom - selvom du opretter den på dit monterede Windows filsystem.
Teknisk set opstår dette, fordi drvFs-filsystemet til Linux-miljøet bruger tilfælde = dir
flag som standard. Det tilfælde = dir
valgmulighed sætter Linux-miljøet til at respektere hvert mappes NTFS-flag, og automatisk indstille sangfølsomhedsflagget på mapper, der er oprettet fra Linux-miljøet. Du kan ændre denne indstilling i din wsl.conf-fil, hvis du vil.
Så længe du opretter mapper fra Linux-miljøet, oprettes de med de korrekte sagerfølsomhedsindstillinger, og du behøver aldrig at røre kommandoen fsutil.exe.
Sådan kontrolleres, om et katalog er følsomt
For at kontrollere, om en mappe for øjeblikket er følsom, skal du køre følgende kommando og erstatte "C: \ folder" med stien til mappen.
fsutil.exe file queryCaseSensitiveInfo C: \ folder
Hvis sårfølsomhed er aktiveret for en mappe, vil du se, at den "sårfølsomme attribut på mappen [sti] er aktiveret." Hvis mappen bruger den standard Windows-tilfælde ufølsomhed, vil du se, at den "sårfølsomme attribut på mappen [sti] er deaktiveret. "
Hvordan man laver et katalog tilfælde ufølsomt
For at fortryde din ændring og gøre en mappe tilfældig igen (som Bill Gates har til hensigt det), skal du køre følgende kommando og erstatte "C: \ folder" med stien til mappen.
fsutil.exe fil sætCaseSensitiveInfo C: \ folder deaktivere
Hvis du forsøger at deaktivere følsomhed for en mappe, der indeholder filer med navne, der ville kollidere, vil du se en meddelelse "Fejl: mappen er ikke tom". Du skal fjerne eller omdøbe de modstridende filer, før du fortsætter.