Как это работает
Это файловая система NTFS, которую вы можете включить для каждого каталога. Это не относится ко всей файловой системе, поэтому вы можете просто включить чувствительность к регистру для определенных папок, которые вы используете для целей разработки.
Чувствительность к регистру была добавлена в обновлении Windows 10 в апреле 2018 года. До этого можно было установить папки Windows как чувствительные к регистру в среде Bash on Windows, также известную как подсистема Windows для Linux. Это отлично работало в среде Linux, но это путало обычные приложения Windows. Теперь это функция уровня файловой системы, что означает, что все приложения Windows будут видеть файловую систему, чувствительную к регистру, в этой папке.
Эта функция включена через
fsutil.exe
команду, которую вы должны запустить из командной строки. Вы можете сделать это либо из окна командной строки, либо из окна PowerShell. С настройками по умолчанию папки, созданные в среде Linux, автоматически настраиваются так же, как и с учетом регистра.
Как установить каталог как чувствительный к регистру
Чтобы начать работу, щелкните правой кнопкой мыши кнопку «Пуск» и выберите команду «PowerShell (Administrator)». Если вы предпочитаете использовать командную строку, вы можете выполнить поиск «Командная строка» в меню «Пуск», щелкните ее правой кнопкой мыши и выберите команду «Запуск от имени администратора». Команда работает одинаково, независимо от того, какую среду командной строки вы выберете.
Возможно, вам не нужен доступ администратора для запуска этой команды, в зависимости от ваших прав. Технически вам нужно разрешение «write attributes» для каталога, который вы хотите изменить. В большинстве случаев это означает, что вам понадобятся права администратора, если вы хотите отредактировать папку где-то за пределами вашей папки пользователя, например c: project, а не если вы хотите изменить папку где-то внутри вашей папки пользователя. как в c: users НАЗВАНИЕ Проект.
Чтобы сделать папку чувствительной к папке, введите следующую команду, заменив «C: folder» на путь к папке:
fsutil.exe file setCaseSensitiveInfo C:folder enable
Если путь к папке содержит пробел, заключите весь путь в кавычки, например:
fsutil.exe file setCaseSensitiveInfo 'C:my folder' enable
Это не влияет на подпапки
Флаг чувствительности к регистру влияет только на конкретную папку, к которой вы ее применяете. Это не автоматически унаследовано подпапками этой папки.
Другими словами, если у вас есть папка с именем C:, и у нее есть папки C: folder test и C: folder stuff внутри нее, просто делая регистр с папкой папки C: папка не будет также «Test» и «stuff» вложенные папки внутри него чувствительны к регистру. Вам нужно будет запустить соответствующий
fsutil
команда отдельно, чтобы сделать все три папки чувствительными к регистру.
Инструменты Linux создают случайные папки по умолчанию
Инструменты Linux, которые вы запускаете внутри подсистемы Windows для Linux (оболочка Bash), теперь создают папки с установленным флагом флага. Итак, используете ли вы
mkdir
команда для создания каталога внутри оболочки Bash или средства разработки делает это за вас, созданный каталог автоматически устанавливается как чувствительный к регистру, даже если вы создаете его на вашей смонтированной файловой системе Windows.
Технически это происходит потому, что файловая система DrvFs для среды Linux использует
case=dir
флаг по умолчанию.
case=dir
опция устанавливает среду Linux, чтобы уважать флаг NTFS каждого каталога и автоматически устанавливать флаг чувствительности к регистру в каталогах, созданных в среде Linux. Вы можете изменить эту опцию в файле wsl.conf, если хотите.
Пока вы создаете папки из среды Linux, они создаются с правильными настройками чувствительности к регистру, и вам никогда не нужно прикасаться к команде fsutil.exe.
Как проверить, является ли справочник чувствительным к регистру
Чтобы проверить, чувствителен ли регистр к регистру, запустите следующую команду, заменив папку «C: » на путь к папке.
fsutil.exe file queryCaseSensitiveInfo C:folder
Если чувствительность к регистру включена для каталога, вы увидите, что включен атрибут «Case чувствительный в каталоге [путь]». Если в каталоге используется стандартная нечувствительность к регистру Windows, вы увидите, что атрибут «чувствительный к регистру» directory [path] отключен."
Как сделать регистр нечувствительным к регистру
Чтобы отменить ваше изменение и сделать регистр случайным регистр еще раз (как это сделал Билл Гейтс), выполните следующую команду, заменив папку «C: » на путь к папке.
fsutil.exe file setCaseSensitiveInfo C:folder disable