Alhames

|

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

Начиная с билда 17107 в Windows 10 появилась возможность включать регистрозависимость определенным папкам. Это достигается с помощью установки флага FILE_FLAG_POSIX_SEMANTICS.
Текущее состояние можно посмотреть, вызвав следующую команду в PowerShell или cmd:

fsutil.exe file queryCaseSensitiveInfo {path}

Где {path} - это путь к директории, которую мы проверяем. Например, C:\Test.
Чтобы включить чувствительность к регистру в директории {path1} и выключить в директории {path2}, нужно вызвать следующие команды:

fsutil.exe file setCaseSensitiveInfo {path1} enable
fsutil.exe file setCaseSensitiveInfo {path2} disable

Чувствительность включается/выключается только в указанной директории и никак не меняется в дочерних. Все директории созданные через WSL наследуют значение флага родительской директории.
Более подробно можно прочесть в официальном блоге.

Для того чтобы рекурсивно выставить флаг директории и всем ее дочерним, необходимо в PowerShell (не в cmd!) перейти в корневую директорию и в вызвать следующую команду (источник):

(Get-ChildItem -Recurse -Directory).FullName | ForEach-Object {fsutil.exe file setCaseSensitiveInfo $_ enable}

PowerShell необходимо запускать от имени Администратора. Также еще немного полезной информации можно найти здесь.