The behaviour described below occurs on Windows-7 systems and on Windows XP. We operate in a dual-language environment - English and Hebrew.

When in Windows Explorer we sort files by name, the order in which they are listed is not what we would expect. Here is a list of file names as sorted by Windows Explorer (all of the files have a .pdf suffix):

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

enter image description here

It looks to me that first the items are sorted according to the position of the first alphabetic character in the name, and then, within those groups, they are sorted in "normal" alpha-numeric order.

That is, all the files with an alpha character in the first position are on top of the list, followed by those with the first alpha character in the second position, followed by those with the first alpha character in the third position, and so on.

An alternate way of looking at this is that, in a file name composed of numbers and letters, the sort treats the first group of numbers in the name as the major sort node, with the rest of the name being the secondary sort node.

Now that I understand the sequencing logic, it's not a big problem, but I was wondering why this happens?


Solution 1:

By default, the newer sort order considers strings in file and folder names as numeric content, not text. Numerals in folder and file names are sorted according to their numeric value.

In the following example, note how the following files, whose names contain numerals, are sorted.

Windows Vista, Windows XP, and Windows Server 2003

5.txt
11.txt
88.txt

In this example, 88 is a numerically higher value than 5. Therefore, the 88.txt is listed after the 5.txt when you sort the folders by name in ascending order.

Source: The sort order for files and folders whose names contain numerals is different in Windows Vista, Windows XP, and Windows Server 2003 than it is in Windows 2000

Solution 2:

In brief:

Add key HKLM\Software\Microsoft\Windows\Currentversion\Policies\Explorer

Set DWORD value NoStrCmpLogical to 1

Restart your explorer windows

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

Solution 3:

If you prefer to use Group Policy (as opposed to manual editing of the registry) to turn off the numerical sorting option in Windows File Explorer, you can use the Group Policy Editor (gpedit.msc) to modify one of the following policy items (i.e., for a particular user or for the entire machine):

> Computer Configuration   (or...   User Configuration)
        > Administrative Templates
                > Windows Components
                        > File Explorer
                                • Turn off numerical sorting in File Explorer

Description
(from the Windows 10 policy item metadata)
This policy setting allows you to have file names sorted literally (as in Windows 2000 and earlier) rather than in numerical order. If you enable this policy setting, File Explorer will sort file names by each digit in a file name (for example, 111 < 22 < 3). If you disable or do not configure this policy setting, File Explorer will sort file names by increasing number value (for example, 3 < 22 < 111).