プロが教える店舗&オフィスのセキュリティ対策術

フォルダーには、ファイルはいくつ入りますか?

初歩的な質問で恐縮なのですが、一体、一つのフォルダーには幾つまでファイルは入れられるのでしょうか?

A 回答 (6件)

これは基本ですが、知らない人のほうが多いと思います。


(むしろ良く気がついたなと感心しますよ)

フォルダやファイルを作成するハードディスクやUSBフラッシュメモリなどのフォーマットによって変わってきます。

FAT16
 ルートディレクトリ上:512個
 サブディレクトリ上:65534個
 1つのボリウム(パーティション上)に作成できるファイル/フォルダの総数:65,536個
 4Gバイトまでのボリウムが作れます。
FAT32
 ルートディレクトリ上:65535個
 サブディレクトリ上:65534個
 1つのボリウム(パーティション上)に作成できるファイル/フォルダの総数:4,194,304個
 512Mバイトから2Tバイトまでのボリウムが作成できます。
NTFS
 ルートディレクトリ上:制限無し
 サブディレクトリ上:制限無し
 1つのボリウム(パーティション上)に作成できるファイル/フォルダの総数:4,294,967,295個
 10Mバイトから2Tバイトまでボリウムを作成することも可能。(2T以上のボリウムを作成することも可能)

これだけ作ることができます。
    • good
    • 0

NTFSの仕様の話は出ているのですが、少々補足



瑣末なことからですが、ディレクトリーというのはファイルシステム用語で
GUI用語としてのフォルダーが、通常一つのディレクトリーに対応します。
漢字TALK時代のMacintoshとかでも、この用語は同様です。


このファイルシステムと、それを利用するOS,GUI,アプリケーションの関係が
少し難しい問題を生むことがあります。

実際のWindowsのNTFSドライバーの仕様、Windowsのファイル操作の仕様
GUIの仕様や問題、利用するアプリケーションの仕様や問題
いくつもの要素が含まれるものだと考えましょう。


NTFSは数十年使いつづけるファイルシステムとして設計されているので
現代科学で、実現できない運用さえも、仕様としてデザインされています。
ペタバイトやエクサバイトなんて、まだソフトウェア業界だけで…
実際にそんな大容量のHDDなんて、開発の目処さえ立っていません。

ベーシックディスクでは、2TBの容量には2T個のファイルは保存できませんし
ダイナミックディスクにしても、WindowsのNTFSドライバーは
NTFSそのものの仕様を、完全に実現していなかったと記憶しています。

まぁ、とは言え、実用上の無制限ではあります。


しかし、容量面の問題だけでなく、処理速度にも、大量ファイルは悪影響を与えます。
たとえば、うちのPCのホームディレクトリーに階層を重ねて一万七千余のファイルがあります。
これを調べるという作業で、3秒弱かかっています。
(time find ~/|wc -l[ただしUNIX系OSにて])
起動ディスク全体だと22万9千余、50秒くらいかかります。

一つのディレクトリーに大量のファイルを置くということは
それだけで、そこでの処理が遅くなるリスクを持っています。

インデックス技術やキャッシュ技術で
高速化できる要素はありますが、万能ではありません。

つまりNTFSやWindowsの制限としては余裕がありますが
実際には、アプリケーションが快適に使えるためには
一つのディレクトリーには数千程度のファイルに止めて置くほうがいいでしょう。

たとえば10年分の記録を一つのディレクトリーに入れておくとします。
5年以上前のデータはほとんど利用することが無いのに…
基本的なキャッシュの仕組みは、20年分のファイルすべての存在を
キャッシュに読み込み保持しようとします。
20年前の5月5日のデータを求められたら
すぐにとりにいけるように準備してあるという状態です。

つまりキャッシュメモリーが浪費され、それは全体へのしわ寄せを生むのです。

階層分けすることで、必要なデータをすみやかに探せますし
使わないデータのありかを、キャッシュに保持する無駄を無くせます。

階層化で場所を見失っても、保存した場所を忘れた場合にこそ
OSにも付属する検索ツールが役立ちます。

バックアップなどを考える場合にも、それは効率的にはたらくはずです。
    • good
    • 0

ANo.#1の補足。


『ディレクトリ』というのは、Windowsで使われる『フォルダ』と同じ意味のMS-DOS時代からの呼び方です。

#1の回答にあるFAT16/32の制限値に書かれている数字は、全ファイルのファイル名がMS-DOSでの使用が認められている文字のみの『8.3形式』に従っている場合の制限値です。(=『ディレクトリエントリ』の制限値。『ディレクトリエントリ』というのは、ファイルの名前や保存されている場所を記録するファイルを管理する領域の一つです。)

ファイル名がMS-DOSでの使用が認められていない文字や『8.3形式』を超える長い名前の時には、#1の回答にある参考URL
http://support.microsoft.com/kb/436213/ja/
の[補足]の部分に書かれているように、ファイル名の付け方によって使用される『ディレクトリエントリ』数が異なることから、保存できるファイルの最大値が大きく変わってきます。

#1の参考URLの[補足]に挙げられている例で使用される『ディレクトリエントリ』数について説明しますと、

EXAMPLE.TXT (すべて半角大文字だけ)
⇒ファイル名がMS-DOS形式に従っているため、1つだけ。
Example.txt (半角の大文字小文字が混在している)
⇒ファイル名の記録に1つ、MS-DOS形式のファイル名に変換したファイル名を記録する『8.3形式エイリアス』と呼ばれるエントリが1つで、合計2つ
LFN TEST.TXT (MS-DOSで使用が認められていない半角スペースが含まれている)
⇒上記の"Example.txt"と同じ。
This is a LFN.TEST (ファイル名が1つの『ディレクトリエントリ』に記録可能な13文字を超えている)
⇒ファイル名の記録に2つ、『8.3形式エイリアス』用に1つで、合計3つ
This is a very long file name.test
⇒ファイル名の記録に3つ、『8.3形式エイリアス』用に1つで、合計4つ

上記の"This is a very long file name.test"のようにファイル名が長い時には、ファイル名のバイト数を13で割って1未満の端数を切り上げた個数の『ディレクトリエントリ』がファイル名の記録に使用され、その他に『8.3形式エイリアス』用に1個の『ディレクトリエントリ』が使用されます。
ですから、ファイル名が例えば、半角100文字(または全角50文字)のファイルばかりを保存しようとすると、ファイル名の記録に、
100÷13=7.69・・・
切り上げて8個、『8.3形式エイリアス』用1個の合計9個の『ディレクトリエントリ』使用されますから、
65,534÷9=7,281.55・・・
で、1つのサブフォルダには7,281個のファイルしか保存できません。

ディスクのフォーマット形式がNTFSの場合には、ファイル管理の方法が異なるために、ファイル名やフォルダごとの制限値はありませんが、#4さんの回答にあるように、一つのボリューム(ドライブ)に最大で4,294,967,295個までです。
    • good
    • 0

FAT32だと、


・MS-DOSの8.3形式に準拠するファイル名をつけた場合
・上記形式では使用することができない文字を使った場合
・13文字(の倍数)以上のファイル名が存在する
それぞれでディレクトリエントリを一つずつ消費しますから、例えば25文字のファイルだけで構成された場合、MAXで65534÷4 という計算が成り立ってしまいますが。
基本を知らなくてすみません。

参考URL:http://q.hatena.ne.jp/1111490493
    • good
    • 0

そんなこと意識しないでも大丈夫です。


ファイル名の組み合わせは無数ですからね。
    • good
    • 0

HDDやUSBメモリのフォーマット形式により異なりますが、XPで一般的なNTFSフォーマットなら、制限はありません。



フォーマットの種類 ルートディレクトリの制限数 サブディレクトリの制限数
NTFS               :制限無し           制限無し
FAT16              :512             65534
FAT32              :65536            65534

『Microsoft サポートオンライン:W98:FAT16、FAT32 でディレクトリ内に作成できる最大ファイル数』
http://support.microsoft.com/default.aspx?scid=k …

↓のFAT16、FAT32の所が、↑と違いますが・・・。

『Windowsのファイルシステム表』
http://www2s.biglobe.ne.jp/~system/doc/winfile.htm
    • good
    • 0

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