Задача: удалить из каталога все файлы в названии которых есть символ "~" и размер которых 0.
Сделал поиск файлов по каталогу, но удаление почему-то не работает, выдаёт ошибку. Перепробовал много способов с разных форумов и т.д., но либо происходит ошибка компиляции, либо удаления всё же не происходит.
Пожалуйста, подскажите в чём ошибка и как исправить?
setlocale(LC_ALL, "");
WIN32_FIND_DATA MyFile;
HANDLE hFind;
hFind = FindFirstFile(L"D:\\TestFolder\\*~*.txt", &MyFile);
// проверка найден ли файл
if (INVALID_HANDLE_VALUE != hFind)
{
do // основная часть алгоритма
{
// название_файла | размер | удалить/оставить
wcout << MyFile.cFileName << "|" << MyFile.nFileSizeLow<<"|";
// проверка файла на удаление
if (MyFile.nFileSizeLow == 0)
{
cout << "Этот удалить" << endl;
if (DeleteFile(MyFile.cFileName) != 0) { // удаление
cout << "Deleting Access!" << endl; // вывод сообщения успешном удалении
}
else { // вывод сообщения об ошибке удаления
cout << "Deleting Failed => " << GetLastError() << endl;
}
}
else
{
cout << "Этот оставить" << endl;
}
cout << endl << endl;
} while (NULL != FindNextFile(hFind, &MyFile));
}
else
{
cout << "\n\nФайлы удовлетваряющие условию не найдены!\n\n";
}
FindClose(hFind);