カテゴリ:デジタル覚え書き > Windowsとか »

windows7のエクスプローラで16進数で並べ替え

フォント用の画像ファイルを作ってて、ファイル名はUnicodeにするといいってこの間書いた。
なんだけど、エクスプローラで表示するとき、名前でソートするとおかしなことになる。
「uni0061,uni0062,uni0063,……uni006a,uni006b,uni006c,……uni0070,uni0071,……uni007a,uni007b,……」
こういうファイル名がついてるわけだけど、名前でソートするとこういう順番になる。
uni006a
uni006b
uni006c


uni007a
uni007b


uni0061
uni0062


uni0070
uni0071


おかしくね!?

ちょっと調べたところどうも、windows XP SP1以前と、名前を見るときの決まりが変わったそうだ。

Windows XP SP1より前は数字を左から1文字ずつ比較して小さい順に並べていましたが、それ以降のWindowsでは数字を数値として見ています。
Windowsのファイルの並び順がおかしい!数字がめちゃくちゃに並ぶと感じるときの設定の変更方法 – 316

まあ読んでもらえれば分かるんだけど、もう一度自分用に書いとくと。
XP SP1以前では、
ファイル名を左から1文字ずつ見ていってまず小さい順に並べ替え、
1文字目が同じファイルがあるならそれらの2文字目を見て小さい順に並べ替え、
2文字目が同じファイルがあるならそれらの3文字目を……
っていう風にしてたんだって。
それが今は、
ファイル名の数字の部分全部を取り出して見て、小さい順に並べ替え、
そこが同じファイルがあるなら、アルファベット、日本語、とかの小さい順に並べ替え
ってなったんだって。
今回の私の場合、まず「uni」は一緒だから置いといて、次、数字の部分を全部取り出す。
「uni0060」なら「0060」、「uni006a」なら「006」、「0060」→「60」、[006」→「6」。
なので「uni0060」より「uni006a」の方が小さくなると。

なんでこうなったかって理由も書いてあった。
ファイル名を連番でつけたとき、「1.txt,2.txt,3.txt,4.txt……」ってつけていってたら、桁が上がって「10.txt,11.txt」まで増えてしまった時。
XP SP1以前は「1.txt,10.txt,11.txt,2.txt,3.txt,4.txt……」ってなってた。
左から1文字ずつ見てってるからそうなるよね。
これじゃいやんと思ったら、ファイル名を2桁にリネームしなくちゃならない。
それしなくていいようにこうなったんだって。

ありがた迷惑。

その記事には、レジストリをいじって変更する方法が書いてあったけど、できるだけレジストリは触りたくない……。

もう少し調べたら、こういう記事を見つけた。
Windows7でファイルを名前順で並び替えるときのルールを変更する | 夢の地図(リンク切れ。探しても見つからなかった (´・ω・`))
windowsの「ローカルグループポリシーエディター」というものを使って、「「エクスプローラーで数値による並べ替えを無効にする」という設定にするというもの。
早速真似。
……ローカルグループポリシーエディタがない……。
ローカルグループポリシーエディターを使えるのはwindows7なら「Professional、Ultimate、Enterprise」このどれかだけなんだって。
私のは「Home Premium」。使えない。
つかえねーーーーーー!!!

レジストリをいじるしかないらしい。
う~ん……仕方ないか……。

CAUTION!
こっから先はレジストリをいじるので、悪くするとwindows自体が起動しなくなる恐れがあるです。

windowsキーを押して、「プログラムとファイルの検索」のとこに「regedit」と入力、出てきた「regedit.exe」を選択してレジストリエディタを起動。
まずバックアップをとる。
「ファイル」→「エクスポート」で、一応「エクスポート範囲」のラジオボタン「すべて」を選択、分かりやすい名前付けて分かりやすい場所に保存。
「ん? やっぱおかしい。前の設定に戻してぇ」ってなったら、「ファイル」→「インポート」で、今作った「.reg」ファイルを選択すればいい。
できたら、左のフレームでフォルダをたどって「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer」に移動。
その「Explorer」を右クリックして「新規」→「DWORD(32ビット値)」で新規値を作成。

2018-08-14_092926.jpg

できた「新しい値 #1」を「NoStrCmpLogical」という名前にする。
その値を右クリック→「修正」を選択。
「値のデータ」に「1」と入力。

2018-08-14_093013.jpg

(あ、この「修正」ウィンドウでは値の名前の変更はできないんで、「新しい値 #1」で確定しちゃった場合は右クリック→「名前の変更」で変更しよう。)
したら「OK」してレジストリエディタを終了→windowsを再起動、で、変更が適用される。

見てみる。

2018-08-14_093100.jpg

はいはいこれっス! こうしたかったんす!
あー気持ちいい。

この修正はもうエクスプローラ自体の挙動を変えるので、フォルダごとに変更とかできません。
でも私にはこのほうが都合いい。
元に戻したかったら「NoStrCmpLogical」をそのまま削除するか、「値のデータ」を「0」に変えて再起動。

なんかさ、数値で見るかどうか、もっと簡単に選べてもよくない!?


ジャンル : コンピュータ
テーマ : Windows

コメントの投稿

非公開コメント

ステータス
細野ゆとり
あそびにん
せいべつおんな
レベル
ちから
すばやさ
こうげき力
しゅび力
EX
最新記事
カテゴリー
月別アーカイブ
全記事表示リンク

全ての記事を表示する

おえかき
ブログ内ページランキング
twitter
その他SNS
検索フォーム
オンラインカウンター
現在の閲覧者数:
カレンダー
05 | 2020/06 | 07
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -
リンク
カウンター
RSSリンクの表示
QRコード
QR