c++ - 如何使用 IFileOperation 清空文件夹

标签 c++ windows file

我有一个如下所示的辅助方法:

HRESULT DeleteFolderAndContainedFiles(IShellItem *psiFolder)
{
    IFileOperation *pfo;
    HRESULT hr = CreateAndInitializeFileOperation(IID_PPV_ARGS(&pfo));
    if (SUCCEEDED(hr))
    {
        hr = pfo->DeleteItem(psiFolder, NULL);
        if (SUCCEEDED(hr))
        {
            hr = pfo->PerformOperations();
        }
        pfo->Release();
    }
    return hr;
}

如何使用 IShellItem(我没有使用过)调用此方法?我想给它传递一个类似 C:\data\test 的路径,它应该清除测试目录下的所有内容,但不会删除 test 目录。

最佳答案

IShellItem* item = NULL;
SHCreateItemFromParsingName(L"C:\\data\\test", NULL, IID_PPV_ARGS(&item));

关于c++ - 如何使用 IFileOperation 清空文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530002/

相关文章:

c++ - C++ 中的辅助运算符问题

c++ - 使用 CMake 编译带有链接 dll 的应用程序。需要查看工作示例

python - 如何使用 Python 将文件格式从 Unicode 转换为 ASCII?

Python客户端/服务器发送大尺寸文件

c++ - 将成员函数作为参数传递

c++ - 堆栈问题

windows - 如何使用 `nsis-web`软件包创建Cordova Electron 版本?

windows - 使用批处理操作文件夹名称

windows - 命令行 - 等待进程完成

file - "./..."是否表示所有子文件夹?