项目中的长路径
数据室中没有对文件夹结构深度的限制。但与数据室不同,Windows和macOS限制了对长文件路径的操作。文件夹/子文件夹的名称越长,和/或你拥有的子文件夹越多,文件路径就越长。
💡 文件路径是由本地磁盘名称、根文件夹名称、文件夹/子文件夹名称、文件名称和文件扩展名组成的完整文件名。 长路径是指超过260个符号的路径。
在订购USB存档时,我们会将你的项目内容记录到一个受密码保护的ZIP存档中。如果项目包含长路径,我们会自动截断它们,以便用户在计算机上使用记录的存档。
如果你选择截断长路径,所有对文档名称的更改都将包含在存档中的修改内容报告中。
可用的截断选项
我们会自动检测导出到存档后的路径和名称有多长。截断选项会根据你的项目中的文档名称和路径的长度而变化。
情况1
项目中包含路径长度超过200个符号但小于950个符号的文档。
在这种情况下,如果你计划在Windows 10+或macOS以外的任何其他开放系统或版本上使用存档,我们建议将长路径截断到200个符号。
情况2
项目中包含:
路径长度超过200个符号但小于950个符号的文档。
名称长度超过255个符号的文档。
在这种情况下,我们提供以下截断选项:
Windows 10+或macOS:只截断长文档名称。超过255个符号的文档名称将被缩短。项目文件夹结构保持不变。
任何操作系统或版本:截断超过200个符号的文档路径。影响文件夹和文件名称。
情况3
项目中包含:
路径长度超过950个符号的文档。
名称长度超过255个符号的文档。
根据目标操作系统,选择如何进行:
Windows 10+或macOS:将长路径截断到950个符号。超过255个符号的文档名称将相应地被缩短。
任何操作系统或版本:将长路径截断到200个符号。
情况4
项目中包含路径长度超过950个符号的文档。
根据目标操作系统,选择如何进行:
Windows 10+或macOS:将长路径截断到950个符号。
任何操作系统或版本:将长路径截断到200个符号。
截断逻辑
让我们通过情况1的例子来了解截断机制:将文档路径截断到200个符号。
系统将文档路径缩短到200个符号,以预留一些空间给本地目录路径。长路径在以下步骤中被消除:
文件名被缩短到至少21个符号,不包括索引和扩展名。系统计算应该截断多少个符号,但始终保留最少的前10个和后10个符号。被截断的中间部分被替换为下划线。
原始名称:
1.2.4 Example of very long file name.xlsx
修改后的名称:
1.2.4 Example of_ file name.xlsx
文件夹名称被缩短到至少21个符号,与文件名一样。
系统从最深的文件夹开始截断,然后向上移动到文件夹结构的顶部,直到消除长路径。如果在步骤1和2之后仍有长路径的文件,这些文件将被移动到“长路径文件”文件夹。
从回收站移动到“长路径文件”文件夹的文件、文件夹和Q&A附件的名称前会加上“RB_”前缀。
原始名称:
1.2.4 Example of very long file name.xlsx
修改后的名称:
1.2.4 RB_Example of_ file name.xlsx
边缘情况
在一些极少数的情况下,如极深的文件夹结构或相似的文件名,我们会应用额外的更改。
如果在截断后同一级别上有相同名称的文档,我们会在它们的名称后面添加数字。
原始名称:
Example of very long file name.xlsx
,Example of very very long file name.xlsx
修改后的名称:
Example of_ file name-1.xlsx
,Example of_ file name-2.xlsx
如果在“长路径文件”文件夹中还有超过200个字符的路径,我们将检查是否从文件名中删除21个符号可以消除长路径:
如果是 → 我们删除21个符号并保留索引和扩展名。
如果不是 → 我们完全剪掉索引,只保留名称的21个符号和扩展名。