Sambaの共有にDIRコマンドを行うとファイル名が昇順にソートされない問題

提供: Samba-JP
移動先:案内検索
KB番号 J0701
最終更新日 2002/05/23 23:30
作成者 葵 忍
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.2 系列

現象

Windows 9x系OSのMS-DOSプロンプトや、Windows NT/2000/XPなどのコマンドプロンプトのDIRコマンドをSambaの共有ドライブに実行すると、Sambaサーバ上のファイルリストの表示が昇順にソートされない場合があります。

詳細

Sambaが動作しているUNIX(Linux)のファイルシステム や FATファイルシステム などの場合、ファイルリストが昇順にソートされて表示されない場合があります。 しかし、 NTFS の場合はきちんと昇順にソートされて表示されます。

原因

これは、UNIX(Linux)の、readdir()のときの順番に出力されると推測されます。 また、FATファイルシステムの場合は、FindFirstFile() や関連するAPIを呼び出した際の仕様(実装)です。

この仕様では、返却されるファイル名の順番はディレクトリエントリ上での物理的な格納順になりますので、昇順にソートされません。

NTFSの場合は、自動的に昇順にソートされた結果が返されます。

対応策

DIR コマンド発行時は、次のようにオプションを付けて、コマンドを発行するようにします。

オプション付きDIR コマンド

     DIR /on

この技術情報は samba-jp:12819 からの一連のスレッドの議論を元に作成されています。