Я знаю, що ОС Windows (як правило) нечутлива до регістру. Чи правда це для всіх ОС Windows (від Windows 95 до Windows 7)? Чи є налаштування реєстру, щоб зробити Windows чутливим до регістру?
Я знаю, що ОС Windows (як правило) нечутлива до регістру. Чи правда це для всіх ОС Windows (від Windows 95 до Windows 7)? Чи є налаштування реєстру, щоб зробити Windows чутливим до регістру?
Відповіді:
Так, це стосується всіх версій Windows. Немає можливості зробити Windows чутливим до регістру. Майте на увазі, що деякі програми, які були розроблені для Unix / Linux, а потім перенесені, можуть залежати від регістру. Наприклад, Cygwin чутливий до регістру. Однак ця поведінка надзвичайно рідкісна.
/bIn/BaShне працює в моїй системі.
Насправді це залежить від підсистеми API / Windows, яку ви (ваша програма) використовуєте.
Якщо ви використовуєте " API API " (стандарт для програм Windows), то назви файлів не залежать від регістру. Однак якщо ви використовуєте підсистему POSIX (він же Служби Windows для Unix), ви можете включити чутливість до регістру.
Дивіться, наприклад, цю статтю про підтримку MS: Увімкніть поведінку з урахуванням регістру за допомогою Windows XP та підсистеми Interix або SFU
Cygwin намагається наслідувати Unix. Таким чином, йому потрібно успадковувати чутливість випадку, щоб не порушувати програми. Windows сама по собі не враховує регістри. Йдеться про файлову систему. Докладніше про це можна прочитати у файловій системі, файлові системи в Microsoft Windows (Wikipedia).
unsupportedсказати.
/bIn/BaShв Cygwin і скажіть мені ще раз, що це чутливість до регістру.
Microsoft додав новий прапор (атрибут) з урахуванням регістру, який можна застосувати до каталогів (папок) NTFS. Для каталогів, у яких цей прапор встановлено (увімкнено), всі операції над файлами в цьому каталозі залежать від регістру, незалежно від того, вказано FILE_FLAG_POSIX_SEMANTICS. Це означає, що якщо у вас є два файли, які відрізняються лише за регістром у каталозі, позначеному як регістр, всі програми отримають доступ до них.
Починаючи з складання Windows 10 17107 , Microsoft додала можливість перегляду та зміни цього прапора до команди fsutil.exe.
Щоб перевірити, чи відповідає каталог регістром, запустіть таку команду:
fsutil.exe file queryCaseSensitiveInfo <path>
Щоб позначити каталог як регістр, або регістр відповідно:
fsutil.exe file setCaseSensitiveInfo <path> enable
fsutil.exe file setCaseSensitiveInfo <path> disable
Це звідси . Ви можете встановити HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitiveзначення реєстру так, 0як запропонували інші автори. Створіть файл із іменем add.regіз наступним вмістом та запустіть його.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000
Потім використовуйте Cygwin для роботи з чутливими до регістру іменами.
Для цього вам потрібно встановити файлові системи NTFS з posix=1опцією у вашому /etc/fstab, як це пропонує стаття . Ось фрагмент з мого fstab:
none /cygdrive cygdrive binary,posix=1,user 0 0
C: /cygdrive/c ntfs binary,posix=1,user,auto 0 0
C:/Users /home ntfs binary,posix=1,user,auto 0 0
Після того , як вище буде зроблено, ви будете мати справу з чутливі до регістру імен файлів , використовуючи bash, mc, і gitт.д.
Переконайтесь, що перезавантажтесь після редагування обох.
Barfieldmv правильний. Файлова система дійсно відрізняється від регістру, і файли зберігаються у відповідному регістрі. Шар доступу до файлів несе відповідальність за видалення корпусу при відповідності файлів до нових дескрипторів файлів