Как удалить директорию,если она не пустая
SHFILEOPSTRUCT sh;
sh.hwnd = GetSafeHwnd(); //Для BCB sh.hwnd=FormX->Handle;
sh.wFunc = FO_DELETE;
sh.pFrom = "c:\\test\0";
sh.pTo = NULL;
sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
sh.hNameMappings = 0;
sh.lpszProgressTitle = NULL;
SHFileOperation (&sh);
Этот код выносит все дерево, начиная с (и включая) с:\test