Как да включите имената на файловете и папките по регистър на Windows 10
Windows 10 вече предлага опционна файлова система, чувствителна към малки и големи букви, точно като Linux и други подобни на UNIX операционни системи. Всички процеси в Windows ще обработват правилни и малки букви файлове и папки, ако активирате тази функция. С други думи, те ще видят “file” и “File” като два отделни файла.
Как става това
Това е функция на файлова система NTFS, която можете да активирате на базата на директория. Той не се отнася за цялата файлова система, така че можете да активирате чувствителността на конкретни папки, които използвате за целите на разработката.
Чувствителността на регистъра бе добавена в актуализацията на Windows 10 от април 2018 г. Преди това е било възможно да се монтират папките на Windows като чувствителни към малки букви в средата Bash на Windows, известна още като подсистемата на Windows за Linux. Това работеше добре в Linux средата, но объркваше нормалните Windows приложения. Сега това е функция на ниво файлова система, което означава, че всички Windows приложения ще видят файлова система, чувствителна към малки и големи букви в тази папка.
Тази функция е активирана чрез fsutil.exe
команда, която трябва да изпълните от командния ред. Можете да го направите или от командния ред, или от прозореца PowerShell. С настройките по подразбиране, папките, които създавате в Linux средата, също автоматично се конфигурират така, че да са чувствителни към малки и големи букви.
Как да зададете директория като чувствителна по регистър
За да започнете, щракнете с десния бутон върху бутона Старт, след което изберете командата “PowerShell (Administrator)”. Ако предпочитате да използвате командния ред, можете да търсите „Команден ред“ в менюто „Старт“, щракнете с десния бутон върху него и след това изберете командата „Изпълни като администратор“. Командата работи същото, без значение коя среда на командния ред избирате.
Може да нямате нужда от администраторски достъп, за да изпълните тази команда, в зависимост от вашите разрешения. От техническа гледна точка е необходимо разрешението „write attributes“ за директорията, която искате да промените. В повечето случаи това означава, че ще имате нужда от администраторски разрешения, ако искате да редактирате папка някъде извън папката на потребителя - например c: project - и не, ако искате да промените папка някъде в папката на потребителя - такава както в c: \ tИМЕ\ проект.
Преди да продължите, уверете се, че в момента няма работещ Linux софтуер, който да се позовава на директорията, която ще редактирате. Не трябва да променяте флага за чувствителност на регистъра в папка, докато софтуерът на Linux се доближава до него. Ако в момента работещите Linux процеси имат директорията или нещо в директорията отворена, дори и като тяхната текуща работна директория, приложенията на Linux няма да разпознаят промяната и могат да възникнат проблеми..
За да направите регистъра на папките чувствителен, въведете следната команда, като замените “C: папка” с пътя до папката:
fsutil.exe файл setCaseSensitiveInfo C: \ t
Ако пътят на папката има интервал в него, затворете целия път в кавички, например така:
fsutil.exe файл setCaseSensitiveInfo "C: папката ми" активира
Това не засяга подпапките
Флагът за чувствителност на случаите засяга само конкретната папка, към която го прилагате. Тя не се наследява автоматично от подпапките на тази папка.
С други думи, ако имате папка с име C: папка и има C: папка test и C: папка подпапки вътре в нея, просто прави C: папка папка чувствителни не би направило също така "Тест" и "неща" подпапки вътре в нея чувствителни към регистъра. Трябва да изпълните подходящото fsutil
командите отделно, за да направите всички три папки чувствителни към регистъра.
Инструменти на Linux Създаване на папки по регистър по подразбиране
Инструментите на Linux, които стартирате в подсистемата на Windows за Linux (Bash shell), сега създават папки с набор от знаци, чувствителни към малки и големи букви. Така че, дали използвате защитен режим
командата за създаване на директория в рамките на Bash shell или инструмент за разработка за вас, създадената директория автоматично се задава като чувствителна по регистър - дори ако я създадете на монтираната файлова система на Windows.
Технически това се случва, защото файловата система DrvFs за Linux среда използва При = реж
по подразбиране. Най- При = реж
опцията задава Linux средата да спазва флага NTFS на всяка директория и автоматично да задава флага за чувствителност на регистъра към директориите, създадени в рамките на Linux средата. Можете да промените тази опция във файла wsl.conf, ако желаете.
Докато създавате папки от Linux средата, те са създадени с правилните настройки на чувствителността на регистъра и никога не трябва да докосвате командата fsutil.exe.
Как да проверите дали дадена директория е от значение по регистър
За да проверите дали дадена директория в момента е чувствителна по отношение на малки букви, изпълнете следната команда, като замените “C: папка” с пътя до папката.
fsutil.exe файл queryCaseSensitiveInfo C: \ t
Ако за дадена директория е активирана чувствителността на регистъра, ще видите, че “Атрибутът на регистъра на директорията [пътека] е разрешен. директорията [пътека] е деактивирана. "
Как да направим справочник на справочника нечувствителен
За да отмените промяната си и да направите папката без значение още веднъж (както го беше предвидил Бил Гейтс), изпълнете следната команда, като замените „C: папка“ с пътя до папката..
fsutil.exe файл setCaseSensitiveInfo C: \ t
Ако се опитате да деактивирате чувствителността на делата за папка, която съдържа файлове с имена, които биха се сблъскали, ще видите съобщение „Грешка: Директорията не е празна“. Трябва да премахнете или преименувате конфликтните файлове, преди да продължите.