如何在回收站中删除路径过长的文件或文件夹?

6
我有一个程序,可以删除和复制一些具有长路径(当长度> MAX_PATH)的文件夹或文件。在此程序中,我使用前缀 \\?\ ,这使我能够仅在简单函数 Delete()中删除具有长路径的文件夹或文件。我需要在回收站中删除文件,为此我需要使用 SHFileOperation函数,该函数使我能够在回收站中删除文件,但此函数不支持前缀 \\?\ 。有人能帮我解决这个问题吗?
是否有SHFileOperation的替代方法?如何规避此问题?
一些链接:
1个回答

6
回收站是一个特殊的外壳文件夹,它是外壳的一部分。然而,外壳有一个限制,路径不能超过MAX_PATH。因此,回收站也受到相同的限制。
你无法将具有较长路径的文件/文件夹放入回收站。不可能。
编辑:Windows 10已解除了MAX_PATH限制。请参见此MSDN条目

当我从资源管理器中执行删除操作时,外壳似乎能够完成它。 - John Gietzen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接