TOP資料>OSのファイル名並び順
■OSのファイル名並び順(10/10/30)


豆知識として覚えておきたいこととして、
エクスプローラでファイルを名前順に表示したときに表示される順序が、
「Windows 98/Me/2000」と「Windows XP/Vista/7」で、
実は違ったりします。

例えば、
「aaa_01.txt」
「aaa_020.txt」
「aaa_03.txt」
の3つを、エクスプローラでファイル名順に表示させるとします。
どのように並ぶでしょうか。

辞書的に考えれば、そのまま
「aaa_01.txt」
「aaa_020.txt」
「aaa_03.txt」
この通りに並んでくれるはずです。

実際、「98/Me/2000」ではこの通りに並んでくれます。

ですが、「XP/Vista/7」ではこの順番で並びません。
覚える意味でも、試しに上の3つの空ファイルを作ってみて
並べて見てもらえればと思いますが、
実際は以下のような並びになるのです。

「aaa_01.txt」
「aaa_03.txt」
「aaa_020.txt」

なんだこれ?バグ!?
と思われるかもしれませんが、仕様です。

XP以降のOSのデフォルトとして、
「ファイル名の数値部分に関しては、値の順序で並ぶ」
という仕様になったそうなのです。

「aaa_01.txt」
「aaa_03.txt」
「aaa_020.txt」

の数値部分に注目すると、
確かに、1, 3, 20 の順に並んでいます。
これはどういう時にメリットがあるかと言うと、
ファイルを正しく順序通り並ばせるために、
わざわざ数字の桁数合わせをしなくて良い、
というのがあります。

例えば、

「aaa_1.txt」〜「aaa_11.txt」

という11個のファイルがあったとき、
98/Me/2000では、あくまで辞書的に並ぶため、

「aaa_1.txt」
「aaa_10.txt」
「aaa_11.txt」
「aaa_2.txt」
「aaa_3.txt」
「aaa_4.txt」
「aaa_5.txt」
「aaa_6.txt」
「aaa_7.txt」
「aaa_8.txt」
「aaa_9.txt」

という変な順番に並んでしまいます。
もしこれを正しく並ばせようとした場合、「0」を追加して

「aaa_01.txt」
「aaa_02.txt」
「aaa_03.txt」
「aaa_04.txt」
「aaa_05.txt」
「aaa_06.txt」
「aaa_07.txt」
「aaa_08.txt」
「aaa_09.txt」
「aaa_10.txt」
「aaa_11.txt」

という風にファイル名を変更しなくてはなりません。
これは11個ならまだしも、100個、1000個となると
非常に厳しい作業になります。

しかし、XP/Vista/7 だと、

「aaa_1.txt」
「aaa_2.txt」
「aaa_3.txt」
「aaa_4.txt」
「aaa_5.txt」
「aaa_6.txt」
「aaa_7.txt」
「aaa_8.txt」
「aaa_9.txt」
「aaa_10.txt」
「aaa_11.txt」

と、いちいち桁数を合わせなくても
綺麗に数値順に並んでくれるのです。

これはこれで確かに便利になったと言えるのですが、
人によっては、以前の 98/Me/2000 のような並び方のほうが良いという声もあります。

その場合は、レジストリーをいじることで
並び方のルールを変更できます。やり方に関しては、
「エクスプローラ ファイル名 順序」などで検索すると
情報が見つかるかと思います。