windows 删除文件夹所有文件夹及文件代码
Posted george-cw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 删除文件夹所有文件夹及文件代码相关的知识,希望对你有一定的参考价值。
1 bool DeleteFolderAll(LPCTSTR pSrcPath ) 2 { 3 if(pSrcPath == NULL) 4 return false; 5 6 wchar_t pwcPath[MAX_PATH]; 7 wcscpy(pwcPath , pSrcPath); 8 int ilen = wcslen(pwcPath); 9 10 if (pwcPath[ilen-1] == L‘\‘) 11 { 12 pwcPath[ilen-1] = 0; 13 } 14 15 16 wchar_t wcPath[MAX_PATH] = {0}; 17 wcscpy(wcPath,pwcPath); 18 wcscat(wcPath,_T("\*.*")); 19 WIN32_FIND_DATA FindFileData; 20 ZeroMemory(&FindFileData,sizeof(WIN32_FIND_DATA)); 21 22 HANDLE hFindFile = FindFirstFile(wcPath,&FindFileData); 23 24 if(hFindFile == INVALID_HANDLE_VALUE) 25 return false; 26 27 BOOL bContinue = true; 28 29 while (bContinue != false) 30 { 31 //bIsDots为真表示是.或.. 32 bool bIsDots = (wcscmp(FindFileData.cFileName,_T(".")) == 0 || wcscmp(FindFileData.cFileName,_T("..")) == 0); 33 if ((FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0 && bIsDots == false) 34 { 35 //是目录,就再进入该目录 36 wcscpy(wcPath,pwcPath); 37 wcscat(wcPath,_T("\")); 38 wcscat(wcPath,FindFileData.cFileName); 39 DeleteFolderAll(wcPath); 40 //寻找下一文件 41 bContinue = FindNextFile(hFindFile,&FindFileData); 42 continue; 43 } 44 45 if (bIsDots == false) 46 { 47 //是文件删除之 48 wcscpy(wcPath,pwcPath); 49 wcscat(wcPath,_T("\")); 50 wcscat(wcPath,FindFileData.cFileName); 51 DeleteFile(wcPath); 52 } 53 //寻找下一文件 54 bContinue = FindNextFile(hFindFile,&FindFileData); 55 56 } 57 58 FindClose(hFindFile); 59 60 //删除空目录 61 RemoveDirectory(pwcPath); 62 return true; 63 }
以上是关于windows 删除文件夹所有文件夹及文件代码的主要内容,如果未能解决你的问题,请参考以下文章