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

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

Теги

 

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

Ошибка при установке Secret Net 7 — не удаётся записать значение в раздел

При установке Secret Net 7 иногда может возникнуть ошибка вида "Не удаётся записать значение в раздел". Дальше идёт указание ветки реестра и значения, которое не удаётся записать. Ошибка наблюдалась на Windows 7 x64 (и x86), а также на Windows Server 2012 R2. Инсталлятор Secret Net 7 запускался от имени администратора. Изменение прав доступа к веткам реестра не помогло решению проблемы.

ИБП (UPS) Legrand KEOR Multiplug 800VA — выключение и включение сервера

Всем привет, сегодня у нас в руках ИБП Legrand KEOR Multiplug 800VA. Скажете, зачем он нам нужен? Всё просто, я надеюсь, что этот UPS сможет поддерживать работу отдельно стоящего сервера. Сервер стоит в помещении, где часто отключают электричество. 

ИБП (UPS) APC Back-UPS Pro BR1500G-RS — выключение и включение сервера

Вашему вниманию предлагается небольшой обзор ИБП APC Back-UPS Pro BR1500G-RS. По задумке этот UPS сможет поддерживать работу отдельно стоящего сервера. При отключении электричества сервер должен выключиться. При включении электричества сервер должен включиться.