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 删除文件夹所有文件夹及文件代码的主要内容,如果未能解决你的问题,请参考以下文章

Java中删除文件删除目录及目录下所有文件

Windows 强制删除文件及文件夹命令

Windows中删除路径太长目录及文件

Java递归删除目录及目录下的文件

Java递归删除目录及目录下的文件

JAVA删除某个目录及目录下的所有子目录和文件