以下で説明する動作は、Windows-7システムおよびWindowsXPで発生します。私たちは英語とヘブライ語の二言語環境で運営しています。
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
最初にアイテムが名前の最初のアルファベット文字の位置に従ってソートされ、次にそれらのグループ内で「通常の」英数字の順序でソートされているように見えます。
つまり、最初の位置に英字があるすべてのファイルがリストの一番上にあり、次に2番目の位置に最初の英字があるファイル、3番目の位置に最初の英字があるファイルというように続きます。 。
別の見方をすれば、数字と文字で構成されるファイル名では、ソートは名前の最初の数字のグループをメジャーソートノードとして扱い、残りの名前はセカンダリソートノードとして扱います。
シーケンスロジックを理解したので、それは大きな問題ではありませんが、なぜこれが起こるのか疑問に思いました。
デフォルトでは、新しい並べ替え順序では、ファイル名とフォルダー名の文字列がテキストではなく数値コンテンツと見なされます。フォルダ名とファイル名の数字は数値に従ってソートです。
次の例では、名前に数字が含まれている次のファイルがどのようにソートされているかに注意してください。
Windows Vista、Windows XP、およびWindows Server 20
5.txt
11.txt
88.txt
この例では、88
は5
よりも数値的に高い値です。したがって、フォルダを名前で昇順で並べ替えると、5.txtの後に88.txt
が表示されます。
出典: 名前に数字が含まれているファイルとフォルダーの並べ替え順序は、Windows Vista、Windows XP、およびWindows Server2003ではWindows2000とは異なります
簡単に言うと:
キーHKLM\Software\Microsoft\Windows\Currentversion\Policies\Explorerを追加します
DWORD値NoStrCmpLogicalを1に設定します
Explorerウィンドウを再起動します
グループポリシー(レジストリを手動で編集するのではなく)を使用して、 Windowsファイルエクスプローラーの数値の並べ替えオプションをオフにする場合、グループポリシーエディター(gpedit.msc
)次のポリシー項目のいずれかを変更するには(つまり、特定のユーザーまたはマシン全体に対して):
>コンピューター構成(または...ユーザー構成)
>管理用テンプレート
> Windowsコンポーネント
>ファイルエクスプローラー
•ファイルエクスプローラーで数値の並べ替えをオフにします説明
(Windows 10ポリシーアイテムのメタデータから)
このポリシー設定を使用すると、ファイル名を番号順にではなく、文字どおりに(Windows 2000以前のように)並べ替えることができます。このポリシー設定を有効にすると、ファイルエクスプローラーはファイル名の各桁でファイル名を並べ替えます(たとえば、111 <22 <3)。このポリシー設定を無効にするか、構成しない場合、ファイルエクスプローラーは数値を増やしてファイル名を並べ替えます(たとえば、3 <22 <111)。