zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    BAT脚本编写要点(1)_特殊字符
    开源爬虫软件汇总
    使用Gradle发布项目到JCenter仓库
    解决Android中,禁止ScrollView内的控件改变之后自动滚动
    理解RESTful架构
    一种为 Apk 动态写入信息的方案
    Proguard配置注解
    使用statsvn统计svn中的代码量
    android如何释放图片缓存
    Git命令参考手册(文本版)
  • 原文地址:https://www.cnblogs.com/george-cw/p/11479888.html
Copyright © 2011-2022 走看看