Вверх

Как включить чувствительность к регистру имен файлов и папок в Windows 10

19 сентября 2022 |
Windows 10 - Как вернуть оставшееся время работы от батареи

Как включить чувствительность к регистру имен файлов и папок в Windows 10

Windows 10 теперь предлагает дополнительную файловую систему с учетом регистра, как и Linux и другие UNIX-подобные операционные системы. Если вы включите эту функцию, все процессы Windows будут правильно обрабатывать файлы и папки с учетом регистра. Другими словами, они будут видеть «файл» и «Файл» как два отдельных файла.

Как это работает

Это функция файловой системы NTFS, которую можно включить для каждого каталога.Это не относится ко всей файловой системе, поэтому вы можете просто включить чувствительность к регистру для определенных папок, которые вы используете в целях разработки.

Чувствительность к регистру была добавлена ​​в обновлении Windows 10 за апрель 2018 года. До этого можно было подключать папки Windows с учетом регистра в среде Bash в Windows, также известной как подсистема Windows для Linux. Это нормально работало в среде Linux, но сбивало с толку обычные приложения Windows.Теперь это функция уровня файловой системы, что означает, что все приложения Windows также будут видеть файловую систему с учетом регистра в этой папке.

Эта функция включается с помощью команды fsutil.exe, которую необходимо запускать из командная строка. Вы можете сделать это из командной строки или окна PowerShell. При настройках по умолчанию папки, которые вы создаете в среде Linux, также автоматически настраиваются с учетом регистра.

Как сделать каталог чувствительным к регистру

Чтобы начать, щелкните правой кнопкой мыши кнопку «Пуск» и выберите команду «PowerShell (администратор)». Если вы предпочитаете использовать командную строку, вы можете найти «Командная строка» в меню «Пуск», щелкнуть ее правой кнопкой мыши и выбрать команду «Запуск от имени администратора». Команда работает одинаково, независимо от того, какую среду командной строки вы выберете.

Вам могут не потребоваться права администратора для выполнения этой команды, в зависимости от ваших прав. Технически вам необходимо разрешение на «запись атрибутов» для каталога, который вы хотите изменить. В большинстве случаев это означает, что вам потребуются права администратора, если вы хотите редактировать папку где-то за пределами вашей пользовательской папки, например c: project, а не если вы хотите изменить папку где-то внутри вашей пользовательской папки, например в c: usersNAMEproject.

Прежде чем продолжить, убедитесь, что ни одно запущенное программное обеспечение Linux в настоящее время не ссылается на каталог, который вы собираетесь изменить. Вы не должны изменять флаг чувствительности к регистру в папке, когда программное обеспечение Linux обращается к ней. Если какие-либо запущенные процессы Linux в настоящее время открывают каталог или что-либо внутри каталога, даже если это их текущий рабочий каталог, приложения Linux не распознают изменение, и могут возникнуть проблемы.

Чтобы сделать папку чувствительной к регистру, введите следующую команду, заменив «C: folder» на путь к папке:

fsutil.exe file setCaseSensitiveInfo C: folder enable

Если путь к папке имеет пробел, заключите весь путь в кавычки, например:

fsutil.exe file setCaseSensitiveInfo «C: my folder» enable

Это не влияет на подпапки

Флаг чувствительности к регистру влияет только на ту папку, к которой вы его применяете.Он не наследуется автоматически вложенными папками этой папки.

Другими словами, если у вас есть папка с именем C: folder и внутри нее есть вложенные папки C: foldertest и C: folderstuff, просто сделайте папку 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: folder» на путь к папке.

fsutil.exe-файл queryCaseSensitiveInfo C: папка

Если для каталога включена чувствительность к регистру, вы увидите, что «Атрибут чувствительности к регистру в каталоге [путь] включен». Если в каталоге используется стандартная нечувствительность к регистру Windows, вы увидите, что атрибут «Учитывать регистр в каталоге [путь]» отключен.”

Как сделать каталог нечувствительным к регистру

Чтобы отменить ваше изменение и снова сделать каталог нечувствительным к регистру (как задумал Билл Гейтс), выполните следующую команду , заменив «C: folder» на путь к папке.

fsutil.exe file setCaseSensitiveInfo C: folder disable

Если вы попытаетесь отключить чувствительность к регистру для папка, содержащая файлы с именами, которые могут конфликтовать друг с другом, вы увидите сообщение «Ошибка: каталог не пустой».Перед продолжением необходимо удалить или переименовать конфликтующие файлы.

Как включить чувствительность к регистру имен файлов и папок в Windows 10


Напишите пару строк:

Ваш адрес email не будет опубликован.

*
*