我正在使用一个桌面应用程序来读取/写入本地文件系统上的文件夹和文件。
问题:其中一些文件的路径长度超过 260 个字符,从而触发此类错误:
PathTooLongException:指定的路径、文件名或两者太长。完全限定文件名必须少于 260 个字符,且目录名必须少于248个字符。
问题:如何让 Windows 允许长路径?
我使用的 Windows 版本很多,因此我希望按版本划分答案。
不同于Windows 10“启用 NTFS 长路径策略”选项缺失因为该问题仅涉及缺少一个选项。
答案1
第一的,检查你的 Windows 版本。如果您使用的是 Windows 10(版本 1607 - 周年更新)或 Windows Server 2016 或更高版本,请阅读以下章节。如果较早,请跳至此答案的最后一章。
Windows 10 1607 或 Windows Server 2016 或更高版本
打开Computer Configuration
> Admin Templates
> System
> FileSystem
。
覆盖Enable Win32 long paths
组策略条目Enable Win32 long paths
,如下所示。
根据您的 Windows 版本,它可能被称为Enable NTFS long paths
并且位于Local Computer Policy
> Computer Configuration
> Administrative Templates
> System
> Filesystem
> NTFS
。
(谢谢magicandre1981截图)
请注意,你的应用程序需要设计为长路径感知因此,虽然启用组策略是必要的步骤,但它并不能保证您的应用程序能够使用长路径。
早于 Windows 10 1607 / Windows Server 2016 的版本
如果您的 Windows 版本较旧,那么您就没那么幸运了。
虽然存在一些技巧,但最终用户无法操作它们,所以如果您的应用程序不能处理长路径,那么除了升级 Windows 或保持路径较短之外您无能为力。