Windows Tips & News

Включение режима с учетом регистра для папок в Windows 10

click fraud protection
РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительность системы

Как вы, возможно, уже знаете, файловая система Windows NTFS обрабатывает имена файлов и папок без учета регистра. Например, для ОС и приложений MyFile.txt и myfile.txt - это один и тот же файл. Однако в Linux все иначе. Для этой ОС это два разных файла. Это различие в поведении может создать проблемы для пользователей WSL. Для их решения в Windows 10 предусмотрена возможность включения режима с учетом регистра для папок.

Рекламное объявление

Если вы использовали Подсистема Windows для Linux, вы, вероятно, знаете, что он позволяет обрабатывать файловые системы Windows (смонтированные в / mnt / c, / mnt / d и т. д.) как чувствительные к регистру. Это означает, среди прочего, что вы можете создавать файлы, имена которых отличаются только регистром (например, foo.txt и FOO.TXT).

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

Начиная с Windows Insider build 17093, появился новый способ обработки файлов с учетом регистра в Windows: чувствительность к регистру для каждого каталога. Эта возможность была добавлена, чтобы дать пользователю лучшую совместимость при использовании файлов с учетом регистра. Также вы можете использовать его с обычными приложениями Windows. Начиная с Windows 10 Build 17110, это поведение используется по умолчанию.

СОДЕРЖАНИЕСпрятать
Подробнее
Чувствительность к регистру в Windows
Чувствительность к регистру для каждого каталога
Включить режим с учетом регистра для папок

Подробнее

Чувствительность к регистру в Windows

Семейство операционных систем Windows NT (включая Windows 10) всегда позволяло выполнять операции файловой системы с учетом регистра. Заявки могут пройти FILE_FLAG_POSIX_SEMANTICS флаг к CreateFile API, чтобы указать, что они хотят, чтобы путь обрабатывался с учетом регистра. Однако по соображениям совместимости существует глобальный раздел реестра, который отменяет это поведение; когда этот ключ установлен, все файловые операции нечувствительны к регистру, даже если FILE_FLAG_POSIX_SEMANTICS указан флаг. Начиная с Windows XP, это значение по умолчанию.

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

К сожалению, в результате остаются файлы, недоступные для приложений Windows. Хотя вы можете изменить глобальный раздел реестра, это все равно будет работать только для тех приложений, которые используют FILE_FLAG_POSIX_SEMANTICS, и это изменит поведение всех файлов на всех дисках, что может быть не предназначено и может нарушить работу некоторых приложений.

Чувствительность к регистру для каждого каталога

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

Включить режим с учетом регистра для папок

Чтобы включить или отключить эту функцию, вы должны использовать встроенное приложение fsutil.exe.

Включение режима с учетом регистра для папок, сделайте следующее.

  1. Открытым командная строка с повышенными привилегиями.
  2. Введите следующую команду:
    fsutil.exe файл setCaseSensitiveInfo "полный путь к вашей папке" включить

    Замените часть пути на правильный путь, соответствующий вашему компьютеру.
    Например,

    Файл fsutil.exe setCaseSensitiveInfo "C: \ data \ Winaero \ Linux" включить
    Включить режим с учетом регистра для папок в Windows 10
  3. Вы сделали.

Теперь вы можете создать два файла с одинаковым именем и только с разницей в регистре. Windows 10 правильно обработает их в этой конкретной папке.Режим с учетом регистра Windows 10

Чтобы увидеть статус функции для папки, выполните команду

fsutil.exe file queryCaseSensitiveInfo "полный путь к вашей папке"

Например,

fsutil.exe файл queryCaseSensitiveInfo "C: \ data \ Winaero \ Linux"

Вы увидите что-то вроде этого:
Режим запроса с учетом регистра Windows 10

Наконец-то, для отключения режима чувствительности к регистру для папок, выполните следующую команду в командной строке, открытой от имени администратора:

Файл fsutil.exe setCaseSensitiveInfo "C: \ data \ Winaero \ Linux" отключить

Используйте правильный путь к папке, и все готово.
Примечание: Отключение атрибута CaseSensitiveInfo для непустых папок не поддерживается. Перед отключением папки необходимо удалить все файлы.

Вот и все.

РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительность системы

Архивы мыши Windows 10

Как изменить основную кнопку мыши влево или вправо в Windows 10По умолчанию Windows 10 использует...

Читать далее

Включение и отключение уведомлений Android в приложении "Телефон"

Включение и отключение уведомлений Android в приложении "Телефон"

РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительн...

Читать далее

Визуальный стиль темы Gray8 для Windows 8

Этот веб-сайт использует файлы cookie, чтобы улучшить вашу работу во время навигации по веб-сайту...

Читать далее