Windows一个文件夹最多放多少个文件?

先上结论:

NTFS:
4294967267 个

( = 2 ^ 32 - 1 (NTFS 限制) - 27 (元数据占用的文件) - 1 (用来测试的文件夹))。

记不住就记2 ^ 32 - 1个,
或者干脆记42亿个吧!!!!

FAT32:
 65535个

Windows 现在默认使用 NTFS 文件系统。

https://en.wikipedia.org/wiki/NTFShttps://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx 可知,NTFS 的限制为单卷 4294967295 (= 2 ^ 32 - 1) 个文件

然后问题是“一个文件夹最多放多少个文件”,因此已经默认先有一个文件夹占着。

然后 NTFS 默认还有那些不可见的元数据们。

做了一个测试,dd if=/dev/zero 出一个文件,用 OSFMount 挂载它,然后格式化为 NTFS,新建一个文件夹,卸载它,用 7-Zip 查看这个文件。

元数据按照 iNode 号排列如下:(混进了奇怪的东西)

0. $MFT

  1. $MFTMirr
  2. $LogFile
  3. $Volume
  4. $AttrDef
  5. . (文件夹)
  6. $Bitmap
  7. $Boot
  8. $BadClus
  9. $Secure
  10. $UpCase
  11. $Extend (文件夹)
  12. (没找到)
  13. (没找到)
  14. (没找到)
  15. (没找到)
  16. (没找到)
  17. (没找到)
  18. (没找到)
  19. (没找到)
  20. (没找到)
  21. (没找到)
  22. (没找到)
  23. (没找到)
  24. $Extend\$Quota
  25. $Extend\$ObjId
  26. $Extend\$Reparse
  27. $Extend\$RmMetaData (文件夹)
  28. $Extend\$RmMetaData\$Repair
  29. $Extend\$Deleted (文件夹)
  30. $Extend\$RmMetaData\$TxfLog (文件夹)
  31. $Extend\$RmMetaData\$Txf (文件夹)
  32. $Extend\$RmMetaData\$TxfLog\$Tops
  33. $Extend\$RmMetaData\$TxfLog\$TxfLog.blf
  34. $Extend\$RmMetaData\$TxfLog\$TxfLogContainer00000000000000000001
  35. $Extend\$RmMetaData\$TxfLog\$TxfLogContainer00000000000000000002
  36. $Extend\$UsnJrnl
  37. System Volume Information (文件夹)
  38. System Volume Information\EfaSIDat (文件夹)
  39. System Volume Information\EfaSIDat\SYMEFA.DB
  40. (自己建的文件夹)

因此在我的这个测试下,符合问题的情况为:

一个 NTFS 分区下有 40 个元文件,和一个题主说的文件夹,然后这个文件夹下有 4294967244 个文件。

虽然实际情况下有几万个文件就足够那个 Windows 资源管理器吃一壶了。

但是这跟那个英文维基说的不一致…那边写的是第 27 开始为自己的文件,那样的话极限就是 4294967267。并且得知那些“找不到”其实是 $MFT 扩展项的保留。是哪里被污染了吗…

好的找到污染源了就是 OSFMount。


于是重新搞了一下,用 mkfs.ntfs -F 直接创建,然后用 7-Zip 打开,确实发现上面的 27 - 39 消失了。于是确认极限为 4294967267 ( = 2 ^ 32 - 1 (NTFS 限制) - 27 (元数据占用的文件) - 1 (用来测试的文件夹))。


评论区有问到 FAT32。实测是 65535

https://en.wikipedia.org/en/File_Allocation_Table

另外问问一般文件夹里面放多少个文件比较吼。

按功能而不是按数量吧?

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值