1

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

这是我使用 Cloud Filter 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 中的删除和移动操作(所以我可以在移动操作中忽略它)。

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

4

1 回答 1

2

它特定于 Windows 文件管理器。我尝试使用带有“-Force”选项的PowerShell“Move-Item”进行“移动”操作,我得到了下一个回调序列(没有删除回调):

  1. CF_CALLBACK_TYPE_NOTIFY_RENAME
  2. CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION
于 2021-08-19T21:24:56.820 回答