Изменение регистра в именах файлов

Здесь обсуждаются темы, косвенно связанные с Far.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Изменение регистра в именах файлов

Post by HaRT »

Latest post of the previous page:

Smitis wrote: Thu 30 Jan, 2020 17:13 Мой опыт расходится с тем, что он написал.
Подробности?: версия ОС, тип ФС, способ переименования.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Изменение регистра в именах файлов

Post by buniak_a_h »

zg, чо-т я не понял. Под XP в Fat32 файлы считаются разными, а под Windows-10 - одинаковыми??? Извините… Проблема не в файловой системе, а в реализации MoveFile . Скорее всего, в Win-10 "оптимизировали" типа если файл одинаковый с точки зрения файловой системы, то просто возвращается true и ничего не делается.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Изменение регистра в именах файлов

Post by zg »

buniak_a_h wrote: Thu 30 Jan, 2020 19:23zg, чо-т я не понял. Под XP в Fat32 файлы считаются разными, а под Windows-10 - одинаковыми???
нет. они везде считаются одинаковыми. но под xp одно в другое напрямую переименовать можно.
buniak_a_h wrote: Thu 30 Jan, 2020 19:23Проблема не в файловой системе, а в реализации MoveFile . Скорее всего, в Win-10 "оптимизировали" типа если файл одинаковый с точки зрения файловой системы, то просто возвращается true и ничего не делается.
да, скорее всего так и есть. под проблемой в фс я имел ввиду, что такое поведение вызвано тем, как фс сравнивает имена.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Изменение регистра в именах файлов

Post by buniak_a_h »

zg, думаете, NTFS сравнивает по-другому? Пробовали создать файл a.txt и A.txt ? Получилось? Если да - напишите, пожалуйста, как добились. Я меня не получается. Отсюда я делаю вывод - NTFS тоже считает их одним файлом; просто Win10 делает указанную проверку ("оптимизацию") для FAT и не делает для NTFS (и её наследников типа ReFS). Возможно, вывод неправильный…
Last edited by buniak_a_h on Thu 30 Jan, 2020 19:46, edited 1 time in total.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Изменение регистра в именах файлов

Post by Yegor »

buniak_a_h, NTFS поддерживает файлы с разным регистром в Win 10:

Code: Select all

fsutil.exe file SetCaseSensitiveInfo C:\MyFolder enable
Результат:

Code: Select all

╔══════════════════════╦══════ C:\MyFolder ════╦
║n        Name         ║         Name          ║
║..                    ║                       ║
║A                  txt║                       ║
║a                  txt║                       ║
║                      ║                       ║
Last edited by Yegor on Thu 30 Jan, 2020 20:07, edited 1 time in total.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Изменение регистра в именах файлов

Post by buniak_a_h »

Yegor, командой copy создать два файла, отличающихся только регистром, мне не удалось. Как Вы этого добились? С линукса (с FTP-сервера?) копировали?
--
upd
на команду fsutil.exe file SetCaseSensitiveInfo C:\Temp\200130 enable
получаю ответ Такой запрос не поддерживается.. При этом на диске C: - NTFS. ЧЯДНТ?
--
Ещё. То же, но disable - нормально (ответ - Атрибут "с учетом регистра" в каталоге C:\Temp\200130 отключен.)
Last edited by buniak_a_h on Thu 30 Jan, 2020 21:00, edited 2 times in total.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Изменение регистра в именах файлов

Post by zg »

buniak_a_h wrote: Thu 30 Jan, 2020 19:43 zg, думаете, NTFS сравнивает по-другому? Пробовали создать файл a.txt и A.txt ? Получилось? Если да - напишите, пожалуйста, как добились.
да. да. да. FILE_FLAG_POSIX_SEMANTICS — это ещё работало под nt4 в прошлом тысячелетии.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Изменение регистра в именах файлов

Post by Yegor »

buniak_a_h, у меня Win 10 1909, SetCaseSensitiveInfo поддерживается не с первой версии 10-ки, а с какого-то билда (возможно с добавления Win Linux Subsystem).
Файлы создавал в Фаре по ShiftF4

Команда "copy a.txt A.txt" не работает и возвращает "The file cannot be copied onto itself.". Но это ожидаемо, никто командный процессор переделывать не будет.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

Изменение регистра в именах файлов

Post by Taciturn »

buniak_a_h wrote: Thu 30 Jan, 2020 20:51 получаю ответ Такой запрос не поддерживается.. При этом на диске C: - NTFS. ЧЯДНТ?
Не установили Windows Subsystem for Linux. В PowerShell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux и перезагрузка. После этого SetCaseSensitiveInfo начинает работать.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Изменение регистра в именах файлов

Post by Smitis »

HaRT wrote: Thu 30 Jan, 2020 18:01 Подробности?: версия ОС, тип ФС, способ переименования.
Windows 7, x64/x32. Обнаружил что плагин Case conversion не работает на флешках с ФАТ. Дальше не помню, давно было.
Разум когда-нибудь победит.
Post Reply

Return to “Операционные системы, командные оболочки и прочее”