【问题标题】:How can I delete a folder or file with path too long in recycle bin?如何删除回收站中路径过长的文件夹或文件?
【发布时间】:2012-07-31 09:32:26
【问题描述】:

我有删除和复制一些具有长路径的文件夹或文件的程序(当长度> MAX_PATH)在这个程序中,我使用前缀\\?\,这使我可以删除具有长路径的文件夹或文件,但仅限于简单函数Delete()。我需要删除回收站中的文件,为此我需要使用 SHFileOperation 函数,该函数使我可以删除回收站中的文件,但此函数不支持前缀 \\?\ 。有人可以帮我解决这个问题吗?

SHFileOperation 有什么替代方案吗? 我怎样才能绕过这个问题?

一些链接:

【问题讨论】:

    标签: c++ winapi


    【解决方案1】:

    回收站是一个特殊的外壳文件夹。它是外壳的一部分。然而,shell 的限制是路径不得长于 MAX_PATH。所以同样的限制也适用于回收站。

    您根本不能将路径较长的文件/文件夹放入回收站。不可能。

    编辑:Windows 10 取消了 MAX_PATH 限制。见this msdn entry

    【讨论】:

    • 当我从资源管理器中执行删除时,shell 似乎能够做到这一点......
    猜你喜欢
    • 2010-11-18
    • 2011-01-14
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多