Чи існує обмеження кількості файлів, які я можу розмістити у заданій папці?


19

Скільки файлів може містити папка? У мене в папці 30 к. Папок. Кожна з папок має 1 файл зображення. Чи існує обмеження кількості файлів, які може зберігати папка?

Я використовую Windows Server 2003, IIS6.

Відповіді:


22

Примітка. Якщо припустити NTFS, оскільки ніхто з розуму не використовує FAT для чого-небудь іншого, ніж USB-накопичувачі або карти пам'яті, не кажучи вже про сервер (гаразд, ця думка страшна).

Так, є межа. Зберігання більшої кількості файлів, ніж частинок у Всесвіті, може виявитись недоцільним. Однак фактична межа набагато нижча.

NTFS має максимум 4,294,967,295 файлів (2 32 - 1) на обсяг . Деякі з них уже використовуються самою файловою системою, і папка також повинна вважатися файлами.

30 000 насправді не так багато файлів. Але Microsoft рекомендує , що ви відключити автоматичну генерацію DOS-сумісних коротких імен при переміщенні повз 300000 , як знайти унікальне коротке ім'я стає важко тоді.


Хм, рекомендація стосується NT 3.5. Він не згадує жодних нових операційних систем.
Ганеш Р.

2
Цей факт не змінився з того часу. Покоління коротких імен все ще існує, і основна проблема пошуку короткого імені все ще залишається, коли їх занадто багато - просто тому, що їх ... ну ... коротко :-)
Joey

Я шукав цю інформацію. Мені просто довелося перейти до коротких назв DOS 8.3 для програми, з якою я працюю, в якій я перевищив ліміт символів filepath. Я почав думати, що можуть бути деякі обмеження. Тоді я зрозумів, що після кількох подібних файлів вони починають використовувати хеши 4 символів. Тоді є (26 + 10) ^ 4 = 1679616 можливих імен. Я спробував замовити його, перейменувавши файл на коротке ім'я іншого файлу, але він перетворив його за кадром і в основному сказав "Файл існує. Натомість LooooongName (2)?". Оскільки я не планую дістатись близько 300000, я буду добре! Цікаві речі!
flutefreak7

16

Не існує жодного практичного обмеження для комбінованих розмірів усіх файлів у папці, хоча кількість файлів у папці може бути обмежена. Що ще важливіше, існують обмеження на розмір окремих файлів, які залежать від того, яку файлову систему ви використовуєте на жорсткому диску. ("Файлова система" - це не що інше, як специфікація того, як саме файли зберігаються на диску.)

Розбиймо це за допомогою файлової системи:

• FAT aka FAT16

FAT, для таблиці розподілу файлів, є спадкоємцем оригінальної файлової системи FAT12, що постачалася з MS-DOS багато-багато років тому.

◦ Максимальний розмір диска: 4 гігабайти

◦ Максимальний розмір файлу: 4 гігабайти

Максимальна кількість файлів на диску: 65,517

◦ Максимальна кількість файлів у одній папці: 512 (якщо я пам'ятаю правильно, коренева папка "/" мала нижню межу 128).

• FAT32

"Немає практичного обмеження для комбінованих розмірів усіх файлів у папці, хоча може бути обмежено кількість файлів у папці." FAT32 був введений для подолання деяких обмежень FAT16.

◦ Максимальний розмір диска: 2 терабайти

◦ Максимальний розмір файлу: 4 гігабайти

◦ Максимальна кількість файлів на диску: 268,435,437

◦ Максимальна кількість файлів у одній папці: 65,534

• NTFS

NTFS або "Нова технологія файлової системи", представлена ​​разом із Windows NT, - це повністю перероблена файлова система.

◦ Максимальний розмір диска: 256 терабайт

◦ Максимальний розмір файлу: 256 терабайт

◦ Максимальна кількість файлів на диску: 4,294,967,295

◦ Максимальна кількість файлів у одній папці: 4 294 967 295

Зауважте, що коли я говорю "диск" вище, я справді кажу про "логічні" диски, не обов'язково фізичні. Ніхто не робить дисковод з 256 терабайт, але за допомогою NTFS ви можете розглядати масив дисководів як єдиний логічний диск. Імовірно, якщо їх вистачає, ви можете побудувати величезний логічний привід.

Також зауважте, що обмеження 256 терабайт NTFS цілком може бути обмеженням на реалізацію - я читав, що формат NTFS може підтримувати диски до 16 екбабайтів (16 разів 1,152,921,504,606,846,976 байт).

Джерело


1
Ви можете розмістити своє джерело.
Джон Т

Якщо максимальний розмір диска для FAT32 становить 256 терабайт, то чому обмеження в 32 ГБ для створення розділу?
Ганеш Р.

@GaneshR. це лише штучне обмеження програми форматування у Windows Window XP та вище. Усі інші форматери не мають жодних проблем створити великий розділ FAT32. Можливо, тому, що вони хочуть, щоб люди перейшли на NTFS. Це важлива річ, адже NTFS набагато краще, ніж FAT32 при обробці файлів: більші диски, більший розмір файлів, краща толерантність до помилок (завдяки журналу), менший розмір кластера для великих дисків, швидше пошук / відкриття файлів (завдяки B- структура дерева), краща продуктивність для дуже великих файлів і дуже маленьких файлів ... В даний час майже немає причин використовувати великий розділ FAT32
phuclv

2

У директорії Windows temp ви можете мати максимум 65535 файлів, інакше метод .Net Framework Path.GetTempFileName перестане працювати. Видалення попередніх тимчасових файлів дозволить йому працювати знову, поки ліміт не буде досягнуто ще раз

Дивіться: Path.GetTempFileName


0

Якщо ви використовуєте NTFS, то ні, реальної межі немає.

Продуктивність постраждає і іншими способами: спроба відкрити папку з 30-ти підпапками забирає величезну кількість часу.

FATXX має обмеження.

Інші сучасні файлові системи, без реального обмеження.


1
Звідки у вас ідея про те, що папки 30k "висмоктують величезну кількість часу"? Відкриття такої папки (з 50-ти папками) займає секунду в Провіднику, ще одну секунду, щоб правильно сортувати. У FAR Manager потрібно близько 1 секунди, щоб відкрити цю папку.
Джої

2
Я бачу, чому він це сказав. Якщо ви використовуєте перегляд мініатюр, Windows намагатиметься відобразити ескіз вмісту кожної папки. Хоча при перегляді ескізів ви навряд чи зможете побачити більше десятка папок на екрані за один раз.
Кеннет Кокран

Так, я хоч і після цього написав це. Перегляд папок не займе багато часу. Перегляд мініатюр ... буде.
SuperMagic

ескізи повинні бути відключені у великих папках
phuclv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.