Перейти к основному содержанию

Windows — регистрозависимые имена файлов и папок

Windows

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

Я регистронезависимая винда, и это хорошо. Я не буду регистрозависимой, но это не плохо...

В Linux, к примеру, это не так.

Чувствительность к регистру определяет, обрабатываются ли прописные (FOO.txt) и строчные буквы (foo.txt) как уникальные (с учетом регистра) или эквивалентные (без учета регистра) в имени файла или каталога. Стандартное поведение:

  • Файловая система Windows обрабатывает имена файлов и каталогов как без учета регистра. FOO.txt и foo.txt будут рассматриваться как эквивалентные файлы.
  • Файловая система Linux обрабатывает имена файлов и каталогов как чувствительные к регистру. FOO.txt и foo.txt будут рассматриваться как отдельные файлы.

Это создавало некоторые трудности при переносе денных между Windows и Linux. Если скопировать папку проекта из Windows в Linux, то она скопируется без проблем. А если скопировать папку с проектом из Linux в Windows, то не факт что скопируется...

win

Ситуация ещё больше усложнилась с появлением подсистемы Windows для Linux (WSL).

Windows Subsystem for Linux 2

Чтобы избежать подобных конфликтов в Windows 10 с апрельским обновлением 2018 года в файловой системе NTFS появился скрытый атрибут system.wsl_case_sensitive для учета регистра каталога, чтобы он распознал файлы и папки Linux, которые могут отличаться только по регистру. Значение этого атрибута будет равно 0 для каталогов без учета регистра и 1 для каталогов с учетом регистра.

При работе из WSL этот атрибут включается автоматически, при работе в Windows его можно включить с помощью утилиты fsutil.exe с правами администратора. Пример на PowerShell:

fsutil.exe file setCaseSensitiveInfo "C:\CASEit" enable

win

И тогда...

win

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

При создании новых каталогов эти каталоги наследуют чувствительность регистра от родительского каталога.

Ссылки

https://learn.microsoft.com/ru-ru/windows/wsl/case-sensitivity

Теги

 

Похожие материалы

Удаление трояна Bitcoin Miner — nano.exe

Словил дома трояна, который устанавливает другие трояны. Через некоторое время комп залился кучей троянов, рекламных программ и левого софта. Помимо прочего мусора у меня поселился троян Bitcoin Miner. Заметить это чудо можно также по тому, что комп тормозит.

Создание RAM диска на Windows Server 2012 R2 средствами WinRamTech Ramdisk Enterprise

Создадим RAM диск на Windows Server 2012 R2. Выделим из оперативки 32 Гб в отдельный диск R. Используем для этого софт WinRamTech Ramdisk Enterprise.

Теги