5

Описанное ниже поведение наблюдается в системах Windows-7 и Windows XP. Мы работаем в двухъязычной среде - английском и иврите.

Когда в проводнике Windows мы сортируем файлы по имени, порядок, в котором они перечислены, не соответствует ожидаемому. Вот список имен файлов, отсортированных по проводнику Windows (все файлы имеют суффикс .pdf):

1G110033H-PP
19C050G-PP-ORB
19C050H-PPRM
19C100H-PPRM
19C-MBPS-PP
19C-MBPS-PP-1
29AAC050-PP
29AAC100-PP
29AAC100-PPUL  
29B004064-PP
101AC050-PP
101AC100-PP
101B100-PPE
1091003G-PPFSUL
10108033G-PPSA
10125033H-PPM

Мне кажется, что сначала элементы сортируются в соответствии с положением первого буквенного символа в имени, а затем в пределах этих групп они сортируются в "обычном" буквенно-цифровом порядке.

То есть все файлы с альфа-символом в первой позиции находятся вверху списка, за ними следуют файлы с первым альфа-символом во второй позиции, за которыми следуют файлы с первым альфа-символом в третьей позиции и т.д. ,

Альтернативный способ рассмотрения этого заключается в том, что в имени файла, состоящем из цифр и букв, сортировка обрабатывает первую группу чисел в имени как основной узел сортировки, а остальная часть имени является вторичным узлом сортировки.

Теперь, когда я понимаю логику секвенирования, это не большая проблема, но мне было интересно, почему это происходит?

3 ответа3

4

По умолчанию новый порядок сортировки рассматривает строки в именах файлов и папок как числовое содержимое, а не как текст. Числа в именах папок и файлов сортируются в соответствии с их числовым значением.

В следующем примере обратите внимание, как сортируются следующие файлы, имена которых содержат цифры.

Windows Vista, Windows XP и Windows Server 2003

5.txt
11.txt
88.txt

В этом примере 88 является численно более высоким значением, чем 5 . Поэтому 88.txt указывается после 5.txt при сортировке папок по имени в порядке возрастания .

Источник. Порядок сортировки файлов и папок, имена которых содержат цифры, в Windows Vista, Windows XP и Windows Server 2003 отличается от порядка в Windows 2000.

2

Вкратце:

Добавьте ключ HKLM\Software\Microsoft\Windows\Currentversion\Policies\Explorer

Установите значение DWORD NoStrCmpLogical равным 1

Перезапустите ваш проводник Windows

http://support.microsoft.com/kb/319827

0

Если вы предпочитаете использовать групповую политику (в отличие от ручного редактирования реестра), чтобы отключить числовую сортировку в проводнике Windows, вы можете использовать редактор групповой политики (gpedit.msc), чтобы изменить один из следующих элементов политики (т.е. для конкретного пользователя или для всей машины):

> Конфигурация компьютера (или ...   Конфигурация пользователя)
        > Административные шаблоны
                > Компоненты Windows
                        > Проводник
                                • Отключить числовую сортировку в проводнике

Описание
(из метаданных элемента политики Windows 10)
Этот параметр политики позволяет сортировать имена файлов буквально (как в Windows 2000 и более ранних версиях), а не в числовом порядке. Если вы включите этот параметр политики, проводник будет сортировать имена файлов по каждой цифре в имени файла (например, 111 <22 <3). Если этот параметр политики отключен или не настроен, проводник будет сортировать имена файлов по возрастанию числового значения (например, 3 <22 <111).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .