c++中如何使用带有通配符的DeleteFile
How to use DeleteFile with wildcard in c++
如何使用DeleteFile通配符?
所以c:myFoldera*.txt
会删除a123.txt
和a5555.txt
,但不会删除b123.txt
WIN32_FIND_DATAW fd;
HANDLE hFind = FindFirstFileW(L"C:\myFolder\a*.txt", &fd);
if (hFind != INVALID_HANDLE_VALUE)
{
do
{
DeleteFileW((wstring(L"C:\myFolder\") + fd.cFileName).c_str());
} while (FindNextFileW(hFind, &fd));
FindClose(hFind);
}
DeleteFile()
不支持通配符
@user1438233向您展示了如何在FindFirstFile()
循环中使用DeleteFile()
来使用通配符搜索文件。
另一个选择是使用SHFileOperation()
,让Shell为您处理通配符:
SHFILEOPSTRUCTW op = {0};
op.wFunc = FO_DELETE;
op.pFrom = L"C:\myFolder\a*.txt ";
op.fFlags = FOF_FILESONLY | FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NORECURSION;
SHFileOperationW(&op);
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- 当使用通配符和null指针调用函数时,对输出的说明
- C++17 文件系统::remove_all 带有通配符路径
- 如何允许通配符模板参数
- 使用通配符的跨平台文件列表
- 如何检索由带通配符的字符串索引的对象
- 有效地查找通配符条目
- 具有不同输入和输出名称的生成文件通配符
- MinGW GCC通配符编译所有文件(Windows)
- Windows 上带有通配符的目录中的文件
- 查找第一个文件W通配符匹配
- 在某些情况下,通配符模式匹配失败
- 实现通配符后没有输入文件错误
- 如何为文件对话框过滤器设置通配符
- 使用通配符搜索QTableWidget时出现问题
- 为什么 std::experimental::filesystem::p ath 不接受像 "*" 这样的通配符?
- 在三元搜索树中搜索(NOT with)通配符
- SQLite如何在列上使用LIKE并添加通配符
- 带有通配符的 ifstream
- c++中如何使用带有通配符的DeleteFile