Cum să activați numele de fișiere și nume de directoare sensibile la cazuri în Windows 10
Windows 10 oferă acum un sistem de fișiere opțional pentru carcase, la fel ca Linux și alte sisteme de operare asemănătoare UNIX. Toate procesele Windows se vor ocupa de gestionarea corectă a fișierelor și a folderelor case-sensitive dacă activați această caracteristică. Cu alte cuvinte, ei vor vedea "fișier" și "fișier" ca două fișiere separate.
Cum functioneaza aceasta
Aceasta este o caracteristică a sistemului de fișiere NTFS pe care o puteți activa pe baza unui director. Nu se aplică întregului dvs. sistem de fișiere, astfel încât să puteți activa doar sensibilitatea cazurilor pentru anumite foldere pe care le utilizați în scopuri de dezvoltare.
Sensibilitatea cazului a fost adăugată în actualizarea Windows 10 din aprilie 2018. Înainte de aceasta, a fost posibil să se monteze folderele Windows ca sensibile la cazuri în mediul Bash pe Windows, cunoscut și sub numele de Subsistem Windows pentru Linux. Acest lucru a funcționat bine în mediul Linux, dar a confundat aplicațiile Windows normale. Aceasta este acum o caracteristică la nivel de sistem de fișiere, ceea ce înseamnă că toate aplicațiile Windows vor vedea și un sistem de fișiere cu litere mici în acel folder.
Această caracteristică este activată prin fsutil.exe
comanda, pe care trebuie să o executați din linia de comandă. Puteți face acest lucru fie din fereastra de comandă, fie din fereastra PowerShell. Cu setările implicite, folderele pe care le creați în mediul Linux sunt configurate automat și pentru a fi sensibile la minuscule.
Cum să setați un director ca sensibil la caz
Pentru a începe, faceți clic dreapta pe butonul Start, apoi selectați comanda "PowerShell (Administrator)". Dacă preferați să utilizați Promptul de comandă, puteți căuta "Command Prompt" din meniul Start, faceți clic dreapta pe el și apoi selectați comanda "Run as Administrator". Comanda funcționează la fel, indiferent de mediul de comandă pe care îl alegeți.
Este posibil să nu aveți nevoie de acces de administrator pentru a rula această comandă, în funcție de permisiunile dvs. Din punct de vedere tehnic, aveți nevoie de permisiunea "scrieți atribute" pentru directorul pe care doriți să-l modificați. În majoritatea cazurilor, aceasta înseamnă că veți avea nevoie de permisiuni de administrator dacă doriți să editați un dosar undeva în afara folderului dvs. de utilizator - cum ar fi c: \ project - și nu dacă doriți să modificați un dosar undeva în dosarul dvs. de utilizator - cum ar fi ca la c: \ users \NUME\proiect.
Înainte de a continua, asigurați-vă că niciun software Linux care rulează nu face referire în prezent la directorul pe care urmează să-l modificați. Nu ar trebui să schimbați pavilionul de sensibilitate a cazului pe un dosar în timp ce software-ul Linux îl accesează. Dacă orice proces care rulează Linux are în prezent directorul sau ceva în interiorul directorului deschis, chiar și ca directorul de lucru actual, aplicațiile Linux nu vor recunoaște schimbarea și pot apărea probleme.
Pentru a face un dosar sensibil la dosar, tastați următoarea comandă, înlocuind "C: \ folder" cu calea către dosar:
fișierul fsutil.exe setCaseSensitiveInfo C: \ enable folder
Dacă calea dosarului are un spațiu în ea, închideți întreaga cale în ghilimele, cum ar fi:
fișierul fsutil.exe setCaseSensitiveInfo "C: \ folderul meu" permite
Acest lucru nu afectează subdosarele
Steagul sensibilității cazului afectează numai dosarul specific la care îl aplicați. Nu este în mod automat moștenit de subfolderele acestui folder.
Cu alte cuvinte, dacă aveți un director numit C: \ folder și are C: \ folder \ test și C: \ folder \ stuff subfolders în interiorul lui, pur și simplu făcând casetele de folder C: \ sensibile nu ar face, Subfolderele "test" și "stuff" din interiorul casei sunt sensibile. Va trebui să rulați corespunzător fsutil
comandați separat pentru a face ca toate cele trei dosare să fie sensibile la litere mari sau mici.
Instrumentele Linux creează Foldere sensibile la casete implicit
Instrumentele Linux pe care le executați în subsistemul Windows pentru Linux (shell-ul Bash) creează acum foldere cu setul de pavilioane sensibile la litere mici. Deci, dacă utilizați mkdir
comanda pentru a crea un director în interiorul unui shell Bash sau un instrument de dezvoltare face pentru tine, directorul creat este setat automat ca sensibil la litere mari - chiar dacă îl creați pe sistemul de fișiere montat Windows.
Din punct de vedere tehnic, acest lucru se întâmplă deoarece sistemul de fișiere DrvFs pentru mediul Linux utilizează caz = dir
în mod implicit. caz = dir
opțiunea stabilește mediul Linux pentru a respecta pavilionul NTFS al fiecărui director și pentru a seta automat pavilionul de sensibilitate a cazurilor pe directoarele create în mediul Linux. Puteți modifica această opțiune în fișierul wsl.conf, dacă doriți.
Atâta timp cât creați foldere din mediul Linux, acestea sunt create cu setările adecvate de sensibilitate a cazurilor și nu trebuie niciodată să atingeți comanda fsutil.exe.
Cum să verificați dacă un director este sensibil la caz
Pentru a verifica dacă un director este în prezent sensibil la minuscule, executați următoarea comandă, înlocuind "C: \ folder" cu calea către dosar.
fișierul fsutil.exe queryCaseSensitiveInfo C: \
Dacă sensibilitatea la caz este activată pentru un director, veți vedea că "atributul sensibil la caractere din directorul [calea] este activat". Dacă directorul folosește insensibilitatea standard a casetelor Windows, veți vedea că " directorul [calea] este dezactivată. "
Cum de a face un caz Directory Insensitive
Pentru a anula schimbarea dvs. și a face din nou un registru insensibil (așa cum intenționa Bill Gates), executați următoarea comandă, înlocuind "C: \ folder" cu calea către dosar.
fișierul fsutil.exe setCaseSensitiveInfo C: \ folder disabled
Dacă încercați să dezactivați sensibilitatea cazului pentru un folder care conține fișiere cu nume care ar coliziune, veți vedea un mesaj "Eroare: directorul nu este gol". Va trebui să ștergeți sau să redenumiți fișierele în conflict înainte de a continua.