Windows Tips & News

Увімкніть режим з урахуванням регістру для папок у Windows 10

click fraud protection

Як ви, можливо, вже знаєте, файлова система Windows, NTFS, розглядає імена файлів і папок як регістр. Наприклад, для ОС і програм MyFile.txt і myfile.txt є одним і тим же файлом. Однак у Linux все по-іншому. Для цієї ОС це два різні файли. Ця різниця в поведінці може створити проблеми для користувачів WSL. Щоб їх вирішити, Windows 10 включає можливість увімкнути режим, чутливий до регістру для папок.

Якщо ви використовували Підсистема Windows для Linux, ви, напевно, знаєте, що він дозволяє вам розглядати ваші файлові системи Windows (змонтовані під /mnt/c, /mnt/d тощо) як чутливі до регістру. Це означає, серед іншого, що ви можете створювати файли, імена яких відрізняються лише за регістром (наприклад, foo.txt і FOO.TXT).

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

Починаючи з інсайдерської збірки Windows 17093, у Windows є новий спосіб обробки файлів, чутливих до регістру: чутливість до регістру для кожного каталогу. Ця можливість була додана, щоб надати користувачеві кращу взаємодію під час використання файлів, чутливих до регістру. Крім того, ви можете використовувати його зі звичайними програмами 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. Введіть таку команду:
    Увімкніть файл fsutil.exe setCaseSensitiveInfo «повний шлях до вашої папки».

    Замініть частину шляху правильним шляхом, що відповідає вашому ПК.
    Наприклад,

    Увімкнути файл fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux"
  3. Ви закінчили.

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

Щоб побачити статус функції для папки, виконайте команду

fsutil.exe файл queryCaseSensitiveInfo "повний шлях до вашої папки"

Наприклад,

Файл fsutil.exe queryCaseSensitiveInfo "C:\data\Winaero\Linux"

Ви побачите щось подібне:

нарешті, щоб вимкнути режим, чутливий до регістру для папок, запустіть наступну команду в командному рядку, відкритому від імені адміністратора:

Файл fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux" вимкнути

Використовуйте правильний шлях до папки, і все готово.
Примітка: Вимкнення атрибута CaseSensitiveInfo для непорожніх папок не підтримується. Ви повинні видалити всі файли з папки, перш ніж вимкнути її.

Це воно.

Microsoft Edge включає розширений досвід встановлення PWA

Microsoft Edge включає розширений досвід встановлення PWA

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі

Microsoft запрошує інших інсайдерів протестувати Edge на iOS

Microsoft запрошує інших інсайдерів протестувати Edge на iOS

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі

Помилка в Windows Defender створює безліч небажаних файлів

Помилка в Windows Defender створює безліч небажаних файлів

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі