Включение чувствительности к регистру для папок в Windows 10
Кратко
Windows 10 позволяет включать чувствительность к регистру на уровне отдельных папок. Это полезно для разработки (например, при работе с Linux-ориентированными проектами), но требует осторожности: флаг не наследуется автоматически и может конфликтовать с существующими файлами.

Быстрые ссылки
- Как это работает
- Как сделать папку чувствительной к регистру
- Это не влияет на вложенные папки
- Linux-инструменты создают чувствительные папки по умолчанию
- Как проверить, включена ли чувствительность
- Как вернуть папку к регистронезависимости
Как это работает
Чувствительность к регистру реализована как функция NTFS и включается на уровне отдельного каталога. Это означает, что вы можете включить её только для тех папок, где это нужно — например, для исходников проекта, в которых имена файлов различаются только регистром (“file” vs “File”).
Функция появилась в обновлении Windows 10 April 2018 Update. До этого в WSL (Windows Subsystem for Linux) можно было смонтировать папки как чувствительные внутри Linux-среды, но обычные Windows-приложения этого не видели. С файловой реализацией на уровне NTFS все приложения Windows корректно распознают флаг каталога.
Включение и проверка флага выполняется утилитой fsutil.exe из командной строки (Command Prompt) или из PowerShell. Папки, созданные внутри WSL/Linux-среды, по умолчанию получают нужный флаг, если включена соответствующая опция драйвера DrvFs.
Важно: это настройка каталога на уровне файловой системы — она не меняет поведение приложений в целом, а только определяет, как Windows сравнивает имена файлов в конкретной папке.
Как сделать папку чувствительной к регистру
Откройте PowerShell или Командную строку от имени администратора. Нажмите правой кнопкой по Пуску и выберите “Windows PowerShell (Администратор)” или найдите “Командная строка”, затем выберите “Запуск от имени администратора”.
Перейдите к тому, что вы собираетесь менять: если это папка в каталоге пользователя, возможно, права администратора не требуются, но если это системная папка или корень диска (например, C:\project), понадобятся соответствующие разрешения на запись атрибутов.
Убедитесь, что никакая запущенная Linux-программа (WSL) и никакое приложение не держит открытую целевую папку; изменение флага во время доступа из WSL может привести к непредсказуемому поведению. Закройте терминалы WSL/Bash и остановите процессы, которые могут использовать папку.
Выполните команду, заменив путь на ваш:
fsutil.exe file setCaseSensitiveInfo C:\folder enableЕсли путь содержит пробелы, возьмите его в кавычки так:
fsutil.exe file setCaseSensitiveInfo "C:\my folder" enable
Если команда прошла успешно, папка начнёт различать имена по регистру: Windows и приложения увидят “file” и “File” как два отдельных объекта.
Права и разрешения
Технически требуется разрешение “write attributes” для каталога. Для папок в профиле пользователя обычно достаточно прав вашего учётного записа; для папок вне профиля (корни, общие каталоги) чаще нужны права администратора.
Это не влияет на вложенные папки
Флаг чувствительности применяется только к той папке, где вы его установили. Он не наследуется на подкаталоги автоматически. Если у вас есть C:\folder с подпапками C:\folder\test и C:\folder\stuff, то включение флага для C:\folder не сделает автоматически чувствительными test и stuff — для каждой подпапки нужно повторно выполнить команду fsutil.

Если нужно массово включить флаг для всех подпапок, используйте скрипт, который рекурсивно обходит дерево и вызывает fsutil для каждой папки (см. раздел “Пошаговый план” ниже).
Linux-инструменты создают чувствительные папки по умолчанию
Инструменты, работающие в среде WSL, создают каталоги с установленным флагом чувствительности автоматически. Это реализовано через драйвер DrvFs, который по умолчанию использует опцию case=dir: она заставляет Linux-среду учитывать NTFS-флаг каталога и устанавливать его для новых каталогов, созданных из WSL.
Если вы хотите изменить это поведение, отредактируйте файл /etc/wsl.conf внутри дистрибутива и добавьте или измените секцию automount, например:
[automount]
options = "metadata,case=dir"После изменения перезапустите WSL (wsl –shutdown) и повторно откройте дистрибутив.
Примечание: опция case=dir — это настройка DrvFs. Если вы уберёте её, WSL может перестать автоматически помечать каталоги как чувствительные, и тогда новые каталоги будут создаваться без флага.

Как проверить, включена ли чувствительность для папки
Чтобы узнать текущий статус каталога, выполните:
fsutil.exe file queryCaseSensitiveInfo C:\folderЕсли включено, вы увидите: “Case sensitive attribute on directory [путь] is enabled.” Если отключено: “Case sensitive attribute on directory [путь] is disabled.” Эти строки генерируются самим fsutil.

Как вернуть папку к регистронезависимости
Чтобы отключить флаг и вернуть стандартное поведение Windows (регистр игнорируется при сравнении имён), выполните:
fsutil.exe file setCaseSensitiveInfo C:\folder disable
Если при попытке отключить флаг система обнаружит файлы с конфликтующими именами (например, существуют одновременно “file” и “File”), вы получите ошибку “Error: The directory is not empty”. В этом случае удалите или переименуйте конфликтующие объекты, прежде чем повторять команду.

Когда стоит и когда не стоит включать чувствительность к регистру
Стоит включать, если:
- вы разрабатываете ПО, которое таргетирует Linux/Unix и ожидает регистрозависимого поведения;
- вы используете инструменты сборки или среды, где имена файлов различаются регистром;
- хотите избежать неожиданных ошибок при переносе проекта между Linux и Windows.
Не стоит включать, если:
- в папке уже есть файлы с потенциальными коллизиями по регистру;
- большая часть приложений, которые работают с этой папкой, не готова к регистрозависимым именам;
- вы работаете с массовыми пользовательскими данными, где различие регистра не критично.
Пошаговый план внедрения для проекта (мини-методология)
- Проанализируйте дерево проекта на предмет существующих коллизий (скрипт проверяет файлы с одинаковыми именами, отличающимися только регистром).
- Сделайте резервную копию критичных данных.
- На тестовой машине включите флаг в целевой папке и прогоните сборку/тесты.
- Зафиксируйте все изменения в CI: добавьте шаги, которые проверяют, что артефакты создаются ожидаемо.
- При успешных тестах примените изменения на продовом окружении поэтапно.
Критерии приёмки
- Файловая система в целевой папке корректно различает имена по регистру (проверка через fsutil).
- Сборка/тесты проекта проходят без ошибок, связанных с именами файлов.
- Отсутствуют скрытые конфликты имён: автоматизированный скрипт фиксации коллизий возвращает 0 проблем.
Чеклист ролей
Разработчик:
- проверить и удалить/переименовать конфликтующие файлы;
- прогнать локальные тесты в WSL и в Windows;
- зафиксировать изменения конфигурации в документации проекта.
Системный администратор:
- убедиться в наличии бэкапов;
- предоставить учетные данные/права для выполнения fsutil;
- при массовом применении — подготовить скрипт и расписание работ.
DevOps/CI-инженер:
- добавить этапы проверки флага в pipeline;
- обеспечить совместимость агентов сборки.
Скрипт-пример для рекурсивного включения флага (PowerShell)
$root = "C:\\project"
Get-ChildItem -Path $root -Directory -Recurse | ForEach-Object {
$p = $_.FullName
fsutil.exe file setCaseSensitiveInfo $p enable
}Этот пример рекурсивно обходит каталоги и включает флаг для каждой найденной директории.
Ограничения и типичные проблемы
- Флаг не предотвращает ошибки на уровне приложений, которые по своему дизайну могут считать имена файлов без учёта регистра.
- При отключении флага могут появиться коллизии, если в каталоге существуют оба варианта имени.
- Некоторые резервные и синхронизирующие инструменты (старые версии) могут неправильно обрабатывать регистрозависимые имена.
Совместимость и переносимость
- Работает на NTFS, начиная с Windows 10 April 2018 Update.
- Проекты, разработанные на Linux, обычно переносятся корректнее, если целевые каталоги помечены как чувствительные.
- Для кроссплатформенной разработки рекомендуется иметь CI-станции на Linux и Windows с одинаковыми наборами тестов.
Быстрые тесты и сценарии приёма (test cases)
- Создать в чувствительной папке два файла: “test” и “Test” — оба должны существовать.
- Открыть папку в Проводнике и убедиться, что оба файла видны (в новых сборках Windows проводник корректно отображает оба).
- Попытаться отключить флаг при наличие коллизии — должна появиться ошибка.
- Создать файл в WSL и убедиться, что флаг установлен автоматически (если используется case=dir).
Факты: основные команды и термины
- Включить: fsutil.exe file setCaseSensitiveInfo C:\путь enable
- Отключить: fsutil.exe file setCaseSensitiveInfo C:\путь disable
- Проверить: fsutil.exe file queryCaseSensitiveInfo C:\путь
- Термин: DrvFs — механизм монтирования Windows-дисков в WSL; case=dir — опция, уважающая флаг NTFS.
Короткое объявление для рассылки (100–200 слов)
В Windows 10 появилась возможность включать чувствительность к регистру на уровне отдельных папок. Это особенно полезно разработчикам и командам, которые переносят проекты между Linux и Windows: папка с включённым флагом будет различать “file” и “File” как два разных файла. Управление осуществляется через утилиту fsutil.exe (PowerShell или Командная строка). Папки, созданные в WSL, автоматически получают нужный флаг благодаря опции DrvFs. При внедрении важно проверить наличие конфликтующих имён и протестировать сборку проекта; при отключении флага система потребует удаления конфликтующих файлов. Чувствительность не наследуется на подкаталоги — настройте каждую нужную папку отдельно.
Важные замечания
- Сделайте резервную копию перед массовыми изменениями.
- При работе в команде синхронизируйте правила именования файлов.
Итоги
- Чувствительность к регистру в Windows 10 — инструмент для кроссплатформенной разработки.
- Контролируется командой fsutil и может управляться из WSL через опции DrvFs.
- Не забывайте о тестах, правах и возможных коллизиях имён.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента