PR

 エクスプローラで、「表示」-「詳細」を選んで詳細表示し、「名前」の部分をクリックするとファイル名順に並び替えることができる。ところが、このときの規則がWindows XPはWindows 2000以前の場合と少々異なっている。ファイル名に数字が含まれていると、それを「文字」としてではなく「数値」として並べ替えが行われる。つまり、数値以外の部分がまず文字コード順(英字ではアルファベット順)に並び替えられ、数値部分は文字の並べ替えではなく値の並べ替えが行われる。

 しかし、Windows9xやWindows2000では、並べ替えの際に数字も文字として評価されるので結果が異なる。この違いに違和感を感じているユーザーは、次のようにして変更してみるとよい。

 管理者権限のあるユーザーでログオンし、スタートメニューから「ファイル名を指定して実行」を選び、「regedit」と入力して「OK」ボタンをクリックする。レジストリエディタが起動したら、次のようにキーをたどる。

HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Policies
→Explorer

 「Explorer」を右クリックして「新規」-「DWORD値」を選び「NoStrCmpLogical」というDWORD値を作成する。「NoStrCmpLogical」をダブルクリックして「値のデータ」に半角数字で「1」を入力して「OK」ボタンをクリックする。

 レジストリエディタを終了してWindowsにログオンし直せば、エクスプローラのファイル名による並べ替えがWindows9xやWindows2000と同じ規則で行われるようになる。

 元の状態に戻すには、「NoStrCmpLogical」を削除するか、「値のデータ」に半角数字で「0」を入力すればよい。

図1 ファイル名に数字が含まれていると、それを「文字」としてではなく「数値」として並べ替えが行われる


図2 HKEY_CURRENT_USER→Software→Microsoft→Windows→CurrentVersion→Policies→Explorerとたどり、「Explorer」を右クリックして「新規」-「DWORD値」を選ぶ


図3 「NoStrCmpLogical」というDWORD値を作成する


図4 「値のデータ」に半角数字で「1」を入力して「OK」ボタンをクリックする


図5 ファイル名による並べ替えがWindows 9xやWindows 2000と同じ規則で行われるようになる


※レジストリの変更によりPCの起動などに支障をきたす場合があります。レジストリの変更の前には、バックアップを必ず行い、自己責任のもとに行ってください。