Calcweb.ru

Информационный портал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

Как вы, возможно, уже знаете, файловая система 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: -directory чувствительность к регистру. Эта возможность была добавлена, чтобы дать пользователю лучшую совместимость при использовании файлов с учетом регистра. Также вы можете использовать его с обычными приложениями Windows. Начиная с Windows 10 Build 17110, это поведение используется по умолчанию.

Подробнее

Чувствительность к регистру в 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. Введите следующую команду:

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

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

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

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

Вы увидите что-то вроде этого:

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

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

Как включить регистрозависимые имена файлов и папок в Windows 10

Windows 10 теперь предлагает дополнительную чувствительную к регистру файловую систему, такую ​​же, как Linux и другие UNIX-подобные операционные системы. Все процессы Windows будут обрабатывать файлы и папки с учетом регистра, если вы включите эту функцию. Другими словами, они будут видеть «файл» и «файл» как два отдельных файла.

Как это работает

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

Чувствительность к регистру была добавлена ​​в обновлении Windows 10 за апрель 2018 года . До этого было возможно монтировать папки Windows с учетом регистра в среде Bash on Windows , также известной как подсистема Windows для Linux. Это прекрасно работало в среде Linux, но это сбивало с толку нормальные приложения Windows. Теперь это функция уровня файловой системы, что означает, что все приложения Windows будут видеть файловую систему с учетом регистра и в этой папке.

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

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

Для начала щелкните правой кнопкой мыши кнопку «Пуск» и выберите команду «PowerShell (Администратор)». Если вы предпочитаете использовать командную строку, вы можете выполнить поиск «Командная строка» в меню «Пуск», щелкнуть по нему правой кнопкой мыши и затем выбрать команду «Запуск от имени администратора». Команда работает одинаково, независимо от того, какую среду командной строки вы выберете.

Вам может не потребоваться доступ администратора для запуска этой команды, в зависимости от ваших разрешений. Технически, вам нужно разрешение «запись атрибутов» для каталога, который вы хотите изменить. В большинстве случаев это означает, что вам потребуются разрешения администратора, если вы хотите редактировать папку где-то за пределами вашей пользовательской папки, например, c: project, а не если вы хотите изменить папку где-то внутри вашей пользовательской папки, например как в c: users NAME project.

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

Чтобы сделать папку чувствительной к регистру, введите следующую команду, заменив «C: folder» на путь к папке:

Если в пути к папке есть пробел, заключите весь путь в кавычки, например:

Это не влияет на подпапки

Флаг чувствительности к регистру влияет только на конкретную папку, к которой вы его применяете. Он не наследуется автоматически подпапками этой папки.

Другими словами, если у вас есть папка с именем C: папка и в ней есть подпапки C: folder test и C: folder stuff, простое создание чувствительной к регистру папки C: не сделает также Подпапки «test» и «stuff» внутри него чувствительны к регистру. Вам нужно было бы запустить соответствующую команду fsutil отдельно, чтобы все три папки были чувствительны к регистру.

Инструменты Linux по умолчанию создают регистрозависимые папки

Инструменты Linux, которые вы запускаете в подсистеме Windows для Linux (оболочка Bash), теперь создают папки с установленным флагом с учетом регистра. Таким образом, независимо от того, используете ли вы команду mkdir для создания каталога в оболочке Bash или инструмент разработки, это будет сделано автоматически для созданного каталога с учетом регистра, даже если вы создадите его в смонтированной файловой системе Windows.

Технически это происходит потому, что файловая система DrvFs для среды Linux использует флаг case=dir по умолчанию . Параметр case=dir устанавливает среду Linux для соблюдения флага NTFS каждого каталога и для автоматической установки флага чувствительности к регистру для каталогов, созданных в среде Linux. Вы можете изменить эту опцию в своем файле wsl.conf , если хотите.

Пока вы создаете папки из среды Linux, они создаются с правильными настройками чувствительности к регистру, и вам не нужно прикасаться к команде fsutil.exe.

Как проверить, является ли каталог чувствительным к регистру

Чтобы проверить, является ли каталог чувствительным к регистру, выполните следующую команду, заменив «C: folder» на путь к папке.

Если для каталога включена чувствительность к регистру, вы увидите, что «Атрибут чувствителен к регистру в каталоге [путь]». Если каталог использует стандартную нечувствительность к регистру Windows, вы увидите, что «Атрибут чувствителен к регистру на каталог [путь] отключен. »

Как сделать каталог нечувствительным к регистру

Чтобы отменить внесенные изменения и сделать регистр без учета регистра еще раз (в соответствии с замыслом Билла Гейтса), выполните следующую команду, заменив «C: folder» на путь к папке.

Если вы попытаетесь отключить чувствительность к регистру для папки, содержащей файлы с именами, которые могут столкнуться, вы увидите сообщение «Ошибка: каталог не пустой». Вам нужно будет удалить или переименовать конфликтующие файлы, прежде чем продолжить.

Как включить атрибут с учетом регистра для папок в Windows 10

Если вы когда-либо использовали Linux, вы бы знали, что можете сохранить файл или папку с символами, чувствительными к регистру. Но печально то, что при использовании ОС Windows вы не можете использовать атрибут с учетом регистра для папок. Позвольте мне объяснить, что это значит. Если вы используете Linux, вы можете сохранить имена файлов и папок в общем месте как File.txt, file.txt, FILE.txt, FilE.txt и т. Д. Но в Windows, если вы попробуете, выдает сообщение об ошибке — В этом месте уже есть файл с таким именем.

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

Я знаю, вы могли подумать, что, используя терминал Windows Subsystem For Linux, вы сможете это сделать. Но позвольте мне напомнить вам, что в конце концов Windows будет обрабатывать эту интеграцию имен файлов. Так что в этом нет никакого смысла.

Чувствительность к регистру для имен папок в Windows 10 может быть включена для каждого каталога отдельно благодаря системной функции NTFS. Вы можете включить атрибут с учетом регистра для папок в Windows 10. В этом сообщении показано, как включить или отключить атрибуты с учетом регистра и проверить, активен ли он в местоположении.

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

Это будет работать с Window 10 1803 и далее. Потому что в этом выпуске Microsoft представила новый способ включения поддержки NTFS для обработки файлов и папок как чувствительных к регистру, и это тоже для каждой папки.

Проще говоря, мы не получим никаких ошибок, как показано на рисунке выше, и мы сможем сохранять файлы и папки с такими именами, как File.txt, file.txt, FILE.txt, FilE.txt и т. Д. в общем месте. Для внесения изменений мы используем встроенную утилиту FSUTIL.exe.

1. Запросить атрибут папки с учетом регистра

Прежде всего, начните с открытия командной строки с правами администратора. Для этого нажмите комбинацию кнопок WINKEY + X или щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (администратор)». Нажмите Да, чтобы отобразить запрос UAC или Контроль учетных записей пользователей.

Теперь введите следующую команду и нажмите Enter.

Файл fsutil.exe setCaseSensitiveInfo «

Убедитесь, что вы заменили

фактическим местоположением в папке, с которой вы хотите, чтобы это работало.

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

2. Включить атрибут папки с учетом регистра

Нажмите комбинацию кнопок WINKEY + X или щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (администратор)».

Теперь введите следующую команду и нажмите Enter.

Файл fsutil.exe setCaseSensitiveInfo «

Убедитесь, что вы заменили

фактическим местоположением в папке, с которой вы хотите, чтобы это работало.

Это включит атрибут с учетом регистра для папки на используемом пути.

3. Отключить атрибут папки с учетом регистра

Нажмите комбинацию кнопок WINKEY + X или щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (администратор)».

Теперь введите следующую команду и нажмите Enter.

Файл fsutil.exe setCaseSensitiveInfo «

Убедитесь, что вы заменили

фактическим местоположением в папке, с которой вы хотите, чтобы это работало.

Это отключит атрибут с учетом регистра для папки на используемом пути.

.

Как включить чувствительный к регистру атрибут для папок в Windows 10

Как включить чувствительный к регистру атрибут для папок в Windows 10

Если вы когда-либо использовали Linux, вы бы знали, что вы можете сохранить файл или папку с символами Case Sensitive. Но печальная часть заключается в том, что при использовании ОС Windows вы не можете использовать атрибут Case Sensitive для папок. Позвольте мне объяснить, что это значит. Если вы используете Linux, вы можете сохранить имена файлов и папок в общем месте, как File.txt, file.txt, FILE.txt, FilE.txt и т. Д. Но в Windows, если вы попробуете, он выдает сообщение об ошибке — В этом месте уже есть файл с тем же именем.

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

Чувствительность к регистру для имен папок в Windows 10 может быть включена для каждого каталога благодаря функции системы NTFS. Вы можете включить атрибут чувствительности к регистру для папок в Windows 10. В этом сообщении показано, как включить или отключить атрибуты чувствительности к регистру и проверить, активен ли он в местоположении.

Включить чувствительный к регистру атрибут для папок в Windows

Это будет работать Окно 10 1803 и далее. Поскольку в этом выпуске Microsoft представила новый способ включения NTFS поддержка обработки файлов и папок как чувствительных к регистру, а также для каждой папки.

Простыми словами, мы не получим никакой ошибки, как показано на рисунке выше, и мы сможем сохранять файлы и папки по именам, таким как File.txt, file.txt, FILE.txt, FilE.txt и т. Д. в общем месте. Чтобы внести изменения, мы используем встроенную утилиту с именем FSUTIL.exe.

1. Чувствительный к регистру случай атрибут папки

Прежде всего, начните с открытия командной строки с правами уровня администратора. Чтобы сделать это, нажмите WINKEY + X или нажмите правой кнопкой мыши на кнопку «Пуск» и нажмите Командная строка (администратор). Нажмите «Да» для запроса UAC или контроля учетных записей пользователей, которое вы получите.

Теперь введите следующую команду и нажмите Enter.

fsutil.exe file setCaseSensitiveInfo “

Убедитесь, что вы заменяете

с фактическим расположением в папке, на которой вы хотите сделать эту работу.

Это скажет вам, включен ли атрибут чувствительности к регистру или отключен.

2. Включить чувствительный к регистру атрибут папки

Нажмите WINKEY + X или нажмите правой кнопкой мыши на кнопку «Пуск» и нажмите Командная строка (Admin).

Теперь введите следующую команду и нажмите Enter.

fsutil.exe file setCaseSensitiveInfo “

Убедитесь, что вы заменяете

с фактическим расположением в папке, на которой вы хотите сделать эту работу.

Это позволит использовать чувствительный к регистру атрибут папки на вашем используемом пути.

3. Отключить чувствительный к регистру атрибут папки

Нажмите WINKEY + X или нажмите правой кнопкой мыши на кнопку «Пуск» и нажмите Командная строка (Admin).

Теперь введите следующую команду и нажмите Enter.

fsutil.exe file setCaseSensitiveInfo “

Убедитесь, что вы заменяете

с фактическим расположением в папке, на которой вы хотите сделать эту работу.

Это отключит чувствительный к регистру атрибут папки на вашем используемом пути.

голоса
Рейтинг статьи
Ссылка на основную публикацию