Windows:如何将具有长路径的文件移动到回收站?

gre*_*hat 5 c# python windows winapi recycle-bin

我正在使用Python,但我认为C#中存在同样的问题.

我希望能够支持扩展路径(len> 260的路径,表示为//?/ c:/ blah/blah).看起来将文件移动到回收站的标准方法是通过SHFileOperationW或SHFileOperation.

在python中,有用的xplatform库move2trash使用SHFileOperationW.关于C#的一些文章说使用相同的东西.

SHFileOperationW的问题在于它不支持扩展路径.这是SH工具的一般限制.

有没有人有任何处理回收站和扩展路径的技巧?

参考链接:C#版本,Python版本

Tim*_*Tim 0

如果您想查看一些 C# 解决方案,快速搜索“PathTooLongException”会发现 Stack Overflow 上有很多关于它的讨论。您也许可以检索“短名称”并使用它来移动它。另外,您还可以通过http://bcl.codeplex.com/wikipage?title=Long%20Path上的解决方法查看他们在这个 C# 库中的处理方式