vc 遍历文件夹,删除文件及文件夹!

//删除指定文件及文件夹
void CdelfileDlg::RecursiveDelete(CString szPath)
{
	CFileFind filefind;
	CString path = szPath;	
	if(path.Right(1) != "\\")//目录的最右边需要“\”字符
		path += "\\";
	path += "*.*";
	BOOL res = filefind.FindFile(path);
	while(res)
	{
		res = filefind.FindNextFile();
		//是文件时直接删除
		if (!filefind.IsDots() && !filefind.IsDirectory())
			DeleteFile(filefind.GetFilePath());//删除文件
		else if (filefind.IsDots())
			continue;
		else if (filefind.IsDirectory())//为目录
		{
			path = filefind.GetFilePath();
			//是目录时继续递归,删除该目录下的文件
			RecursiveDelete(path);
			//目录为空后删除目录
			RemoveDirectory((LPCTSTR)path);
		}
	}
}


你可能感兴趣的:(vc 遍历文件夹,删除文件及文件夹!)