アプリ版:「スタンプのみでお礼する」機能のリリースについて

MS-DOS/V Ver6.xxのDIRコマンドで教えてください。
オプションなしで、ただ単に
 dir
のコマンドを打った場合、出力される順番はどういった順番になってるのでしょう?
 ファイル名のアルファベット順?
 拡張子のアルファベット順?
 タイムスタンプ順?
3000個のファイルを持つディレクトリで
 dir > list.txt
でリダイレクトしてみたところ、上記のいずれでもなかったのですが、DOSはどういった順番で
出力してるのでしょう?
よろしくお願いします。

A 回答 (5件)

ついでに補足しておきますが、DOS系のディスクには「ファイル管理領域」と言う場所があり、そこにファイル名などが格納されています。



DIRコマンドはその管理領域に登録されている順にファイル情報を表示しているだけの筈です。
ファイルを削除して管理領域に空きが出来れば新しいファイル情報は空いた部分を使うので必ずしも「ファイルを作成した順」にはならないでしょう。
ファイルの削除と作成を長期間繰り返していれば表示順は何の意味もありません。

もともとMS-DOSというのはファイル操作をもの凄く単純にしたOSなのでその辺は利用者がどうこうすることは出来ません。MS-DOSではない他のOSではファイルを作りたい場合にどのディスクのどのエントリーに必要な量のセクター/トラックを事前に割り当ててからアプリケーションで使用します。この作業を事前にやっておかないとアプリケーションを実行した時点で「FILE I/O ERROR」となってアボートしてしまいます。
※ここで言うMS-DOS以外のOSとは、汎用機などに代表されるパソコン以外のコンピューターで使用されているOSです。

この回答への補足

>ファイルを削除して管理領域に空きが出来れば新しいファイル情報は空いた部分を使うので必ずしも「ファイルを作成した順」にはならないでしょう。
>ファイルの削除と作成を長期間繰り返していれば表示順は何の意味もありません。

つまり、「削除・作成を繰り返せば、エントリ順も崩れてしまう場合もある」ということでしょうか?
ご享受ください。

補足日時:2008/11/07 23:20
    • good
    • 0

>エントリ順とのことですが、どうしても理解に苦しむDIRの結果です。


そうですか?私は至極当たり前だと思います。Windows世代の人だとファイル名順とか更新日時順が当たり前でしょうが、DOS時代はエントリー順が当たり前であり、更新日時順などにソートしたい場合はFD等のファイル管理ツールを使用するのが必須でした。

エントリー日時と更新日時は一致するわけではなく、ファイルを新規オープンした時がエントリーのタイミング。更新日時はファイルをクローズしたタイミングで確定するモノと理解しています。

つまりはアプリケーションがファイルをどのように扱っているかで見た目と実際が異なってしまうわけです。

DIRコマンドでファイル名順など特定条件で常にソートした結果を得たいのなら環境変数にオプションを指定してください。「dir /?」で説明が出てくるはずです。

この回答への補足

書き方がまずかったですか?
エントリ順だということを理解したうえで、自分が思ってるエントリ順と出力された結果が一致してなかったので、
その結果に対して理解に苦しんだのです。
エントリ順であることがおかしい、と言ってるのではありません。

補足日時:2008/11/07 23:14
    • good
    • 0

質問に対する回答は既に付いている通りです。



以下は余談。
FDとかFILMTNといったファイラー(現在でも入手可能な著名なフリーウェア)の機能で、ディレクトリエントリの情報をソートして保存することができます。ただしWindows9x系と共存させている環境だとロングファイルネームの情報が崩れる可能性があるので、下記のようなVFATに対応したツールを使う必要があります。
http://www.valley.ne.jp/~kazu-ma/dircust/indexd. …

この回答への補足

回答ありがとうございます。
#1さん、#2さんもありがとうございます。

今回の質問は会社の某製造装置につながってる組み込み型のPCについての質問でした。
エントリ順とのことですが、どうしても理解に苦しむDIRの結果です。
装置PCがどのように動いているのか、ますますわからなくなってしまいました。

エントリ順はrenameしてもEDITかけても順番はかわらないんですよね?

補足日時:2008/11/06 22:41
    • good
    • 0

ディレクトリエントリ順です。

"/O:G"オプションで、ディレクトリ順に表示されますので、比較してみると良いと思います。

DIR /O:G
    • good
    • 0
この回答へのお礼

ありがとうございます。
#3さんに補足を入れてますので、さらにご助言ください。

お礼日時:2008/11/06 22:43

ディレクトリエントリ順です。

    • good
    • 0
この回答へのお礼

ありがとうございます。
#3さんに補足を入れてますので、さらにご助言ください。

お礼日時:2008/11/06 22:43

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