AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 529786
Accepted
Steffen Winkler
Steffen Winkler
Asked: 2013-08-09 23:11:00 +0800 CST2013-08-09 23:11:00 +0800 CST 2013-08-09 23:11:00 +0800 CST

FAT32对目录中所有文件名总长度的限制?

  • 772

我在我们客户的一个备份硬盘上遇到了一个奇怪的问题:硬盘被格式化为 FAT32,昨晚我们的备份作业在子目录上抛出了一个错误,声称它无法复制它必须复制的文件。

我当然首先检查了磁盘大小,但是有足够的空间。给出的错误是 0x80070052,如果我把它放到搜索引擎中,我会得到如下结果:http ://www.quickonlinetips.com/archives/2007/09/how-to-fix-error-0x80070052-on-usb-闪存驱动器/

但是该分区的根目录中只有 8 个文件/目录。所以我继续并决定自己测试一些东西。创建单个文件(例如名为“test.txt”)确实有效。但是使用备份作业失败的文件名之一创建一个文件不起作用,相反我得到了与上面相同的错误。我测试了一下,发现我可以在该子目录中创建一个包含 10 个字符的文件,再多一个字符,它就会失败。

检测到这一点后,我在该子目录中创建了一个目录(名为“test”)并将一些文件从子目录移动到新目录中,完成后,我尝试创建一个包含 11 个字符的文件(这不起作用之前)并且它起作用了。

现在,显然从观察来看,对于 FAT32 的单个目录中的所有文件名可以使用多少个字符似乎存在某种硬限制,但我找不到有关该硬限制或其他文件系统(尤其是 NTFS ,我猜这将是这种情况下的替代方案)具有类似的限制。

如果有人可以向我提供有关观察到的行为的信息,那就太好了!

编辑

一位同事告诉我将确切的文件夹放在另一个 FAT32 驱动器上,因为他曾经遇到过特定制造商的 USB 控制器的问题。我尝试了两个来自不同制造商的 USB 记忆棒,都是 FAT32 格式,都显示出与上述完全相同的行为。

为了让您了解所涉及的文件数量:大约有 10200 个文件,每个文件的文件名长度在 80 到 110 个字符之间,不包括文件路径(这似乎无关紧要),所以大约有涉及一百万个字符。

limits
  • 2 2 个回答
  • 7124 Views

2 个回答

  • Voted
  1. Best Answer
    katce
    2020-04-24T00:47:48+08:002020-04-24T00:47:48+08:00

    如果所有文件都具有短文件名(8.3 格式),则 FAT 文件系统目录中的最大文件数为 65,536。短文件名存储在一个 32 字节的条目中。

    这意味着目录(文件)的最大大小为 65,536 * 32 字节,即 2,097,152 字节。

    8.3 格式的短文件名由 8 个字符加上可选的“.”组成。后跟最多 3 个字符。字符集是有限的。包含小写字母的短文件名另外存储在长文件名条目中。

    如果文件名较长(长文件名),它会分布在多个 32 字节长的条目中。每个条目包含 13 个字符的文件名。如果文件名的长度不是 13 的倍数,则填充最后一个条目。

    此外,每个长文件名条目都有一个短文件名条目。

    “.”已经占用了 2 个 32 字节的条目。和每个目录中的“..”条目(根目录除外)。

    1 32 字节条目被视为结束标记?

    因此,目录中的实际最大文件数取决于文件名的长度。

    • 4
  2. James
    2019-05-02T01:21:20+08:002019-05-02T01:21:20+08:00

    最大文件名+目录路径合计255个包;所以这很重要。

    • 0

相关问题

  • Linux中用户的进程限制

  • Linux上的文件名长度限制?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve