メモのコツを教えてください!

エクスプローラーのファイル名順ソートについてなのですが、
ファイル名にハイフンが含まれていると、意図したようにソートされません。
たとえば、以下のファイルがあるとします。
a-1.txt
a-2.txt
a1.txt
a2.txt
ハイフンで区切って、大分類-小分類のような意味を持たせているので上記のように並んで欲しいのですが、以下のように並んでしまいます。
a1.txt
a-1.txt
a2.txt
a-2.txt
これがどういう並びなのか…、単にハイフンを無視でもなさそうだし、マイナスと認識と言うわけでもなさそうだし、ハイフンを無視して並べておいてから、ハイフンありを後に、という感じでしょうか…。
いずれにしても、ハイフンでグループ分けしたい場合にこれでは困ります。
(具体的にはCPANファイルのソート)

「数値として認識させる/文字列として認識させる」の設定方法NoStrCmpLogicalについては情報が多く見つかりましたが、上記のような問題の解決方法はないでしょうか。

A 回答 (5件)

問題解決になるかわかりませんが。


ファイルにカテゴリ属性を付けるのはダメですかね?
すでに試されていたり、的外れだとらちょっと恥ずかしいので(笑)
概要だけ書かせて頂きます。

ファイル右クリック→プロパティ→概要→カテゴリに姓名を入力。
エクスプローラの表示→グループ表示でカデゴリ順にソート
そうすると以下のようにソートは可能でした。
----------------
ooki(カテゴリ)
 ooki-jiro.txt
 ooki-taro.txt

ookita
 ookita-jiro.txt
 ookita-taro.txt
----------------
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど確かに手の一つかもしれませんね。全然的外れなんかじゃないです。ありがとうございます。
手間やミスを考えれば、ファイル名から自動的に属性をセットするスクリプトなど作っておくと良さそうですね。

ただ難点は、これNTFS独自の機能なんですね…。
ということは、NTFSじゃないディスクやCDや外部メモリに保存、それに圧縮したら消えてしまう(少なくとも一般的フォーマットでは)という問題もあります…。

しかしとにかく、なにしろせっかくファイル名で完璧に整理されているのに…、っていう解せない思いがあるんですよねぇ…苦笑
ハイフンじゃなくてアンダーバーだとOKっていうのも妙なんです。

これって珍しいケースとは思えないんですが、今まで話題になってない、というかネット上でも情報がないのも、ちょっと不思議ですね。

お礼日時:2008/10/29 18:17

直接の回答ではありませんが、


できない状況で思い悩むより
サブフォルダごとに分けて分類する方が
現実的なのでは?

この回答への補足

ご回答ありがとうございます。
問題が解決できていない現在は、おっしゃるようにサブフォルダに分けたり、エクスプローラーではなくCygwinベースのツールなど、あるいはLinux上でで管理するようにしています。

何度も繰り返していますように、既存のファイル、具体的にはCPANのファイルなど、すなわち私が勝手に名前を変えたりできない(すべきでない)ものなので。

もちろん、できることなら解決したいので、もう少し情報を待ってみたいと思います。よろしくお願いいたします。

補足日時:2008/10/29 11:39
    • good
    • 0

マイクロソフトに聞いた方が良いのでは?

この回答への補足

ありがとうございます。
それはまた…、Q&Aサイト全否定のような斬新なご意見で…(苦笑)
でもそうですね、とりあえず、他の質問もそうであるように、どなたかご存知ならと思い質問させていただいたわけですから、それで解決できなければ、ご指示通りにMSに聞いてみますね。

補足日時:2008/10/29 11:36
    • good
    • 0

回答になっていない可能性がありますので参考程度にして下さい。



>この奇妙な(?)仕様、なんとかならないですかねぇ…
私の環境ではデフォルトの状態で下記のようにソートされました(XP Home と Pro)
質問者さんのPCは2000ではなくXPなのですよね。
質問者さんはこの様に並べたいのですよね(違ってたらごめんなさい)
a1.txt
a2.txt
a-1.txt
a-2.txt

レジストリに NoStrCmpLogical を書き加えていると言う前提で。
下記のような並びになるのはレジストリに NoStrCmpLogical がある為だと思われます。
ですので NoStrCmpLogical を試しに削除してOS再起動で意図したような並びになるように思います(一応検証はしました)
何らかの意図があって今は「文字列順」に並べてあり、それをデフォルト設定の「数値順」にすれば良いかと思います。
a1.txt
a-1.txt
a2.txt
a-2.txt

ファイル名の表示順序を変更する(NoStrCmpLogical)
http://www.atmarkit.co.jp/fwin2k/win2ktips/342xp …

この回答への補足

ご回答ありがとうございます。
なかなかうまく説明できずに申し訳ありません…。
しかも例が良くありませんでしたね…。あらためて補足させてください。
この例も良いかどうか怪しいですが…

大木さんと大北さんという家族があります。もちろん別の家族(別世帯)です。両方に、太郎と二郎がいます。
大木太郎、大木二郎、大北太郎、大北二郎の4人の名前をファイル名にします。
OOKI-TARO.txt
OOKI-JIRO.txt
OOKITA-TARO.txt
OOKITA-JIRO.txt
エクスプローラーでは、ちょうど上記のように、大木ファミリーと大北ファミリーはそれぞれ固まって表示して欲しいのです。
もちろんOOKITAが上でも良いし、太郎が後でも順番はとりあえず構わないので、ハイフンより前の部分が同じものが固まって表示されるのが理想です(というか自然だと思います)。

ところが、私の環境WinXP Proでは、以下のようにソートされます。

OOKI-JIRO.txt
OOKITA-JIRO.txt
OOKI-TARO.txt
OOKITA-TARO.txt

良く見ると、ハイフンを無視して文字コード順になっているように思えます。
DOSのDIRコマンドで /on オプションをつけた結果も同じでした。
また、念のため、ご指摘のようにNoStrCmpLogicalを設定してみましたが、結果は同じでした。
ちなみに、NoStrCmpLogicalを設定すると、確かにおっしゃるとおりa1とa-1の並びはご指摘のようになりますね。ただこれはたまたま数値と認識する部分としない部分が同じだったので、例として良くありませんでした。すみません。

ついでに言えば、おっしゃっているケースでも、本当に文字コード順であれば、
a1.txt
a2.txt
a-1.txt
a-2.txt
ではなく、ハイフンが先に来るはずですよね。

今回の例を文字コード順にすると、こうなるはずです。
OOKI-JIRO.txt
OOKI-TARO.txt
OOKITA-JIRO.txt
OOKITA-TARO.txt
Linux環境のlsコマンドでは、ちゃんと上記のように並びました。

この説明でうまく伝わったかどうか不安ですが…、どうでしょう。何か御存じないでしょうか。

補足日時:2008/10/28 16:50
    • good
    • 0

ファイル名順とは文字コード順で並べ替えることですから、当然といえば当然の結果です



数字として認識させる方法は
 a1.txt
 a0002.txt 
 a03.txt
のような場合に有効です


結論

  ファイル名を直しましょう

自分は大分類と小分類は
 a1.txt
 a1-.txt
 a2.txt
 a2-.txt
 a2--.txt
などとしています

この回答への補足

ご回答ありがとうございます。
ですが…、せっかく回答していただいたのに申し訳ないのですが、ちょっと違います…

まず、

> ファイル名順とは文字コード順で並べ替えることですから、当然といえば当然の結果です

いいえ違います。文字コード順で並べたら、こうなります↓ こうなって欲しいのに、ならないんです。

a-1.txt
a-2.txt
a1.txt
a2.txt

> 数字として認識させる方法は
...
> のような場合に有効です

数値として認識させる方法は今回の件と関係ありません。むしろ逆、文字列すなわち文字コード順に並べたいのに、できない、その参考情報として、「数値として認識させる方法」ならWeb上でたくさん見つかると紹介しただけです。
紛らわしくてすみません…

> 結論
>   ファイル名を直しましょう

ううむ…、結論と言われても…、できないので困ってるんです…^^;
質問にも書きましたが、CPANファイルなど、もともとハイフン区切りになっているので。

なんだか逆に指摘ばかりでごめんなさい。

この奇妙な(?)仕様、なんとかならないですかねぇ…

補足日時:2008/10/28 14:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報