Rename folder with overwrite删除Cloud Files API中的源文件夹



我正在使用Cloud Files API创建一个虚拟文件系统。我试图实现重命名/移动和删除文件夹的操作。重命名带有覆盖场景的文件夹(当目标文件夹存在时)行为令人困惑。在Windows explore中,我试图将Z:Folder1重命名为Z:Folder2,而Z:Folder2已经存在。在执行重命名操作之前,源文件夹正在通过调用CF_CALLBACK_TYPE_NOTIFY_DELETE回调被删除。

以下是我使用云过滤器API获得的回调序列:

  1. 在源文件夹上调用CF_CALLBACK_TYPE_NOTIFY_DELETE
  2. 每个文件从源文件夹被移动到目标文件夹
  3. 在源文件夹上调用CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION。

因此,无法在CF_CALLBACK_TYPE_NOTIFY_DELETE回调中删除存储中的文件夹,因为这将在移动操作之前删除所有文件。也没有办法区分CF_CALLBACK_TYPE_NOTIFY_DELETE内部的删除和移动操作(所以我可以忽略它的移动操作)。

如何在云文件API中正确实现删除和重命名/移动回调?

这是Windows文件管理器特有的。我试着"搬家"。使用PowerShell进行"move - item"操作;与"-Force"选项,我得到了下一个回调序列(没有删除回调):

  1. CF_CALLBACK_TYPE_NOTIFY_RENAME
  2. CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION

相关内容

  • 没有找到相关文章

最新更新