我有删除和复制一些具有长路径的文件夹或文件的程序(当长度> MAX_PATH)在这个程序中,我使用的前缀\\?\
使我可以删除具有长路径的文件夹或文件,但仅限于简单的功能Delete()
。我需要删除回收站中的文件,为此我需要使用SHFileOperation
可以删除回收站中文件的功能,但此功能不支持前缀\\?\
. 有人可以帮我解决这个问题吗?
SHFileOperation 是否有一些替代方案。我怎样才能绕过这个问题?
一些链接:
回收站是一个特殊的外壳文件夹。它是外壳的一部分。然而,shell 的限制是路径不得长于 MAX_PATH。所以同样的限制也适用于回收站。
您根本不能将具有长路径的文件/文件夹放入回收站。不可能。
编辑:Windows 10 取消了 MAX_PATH 限制。请参阅此 msdn 条目