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 }
  • 相关阅读:
    Java的Integer与int互转
    浅析Java中的final关键字
    zookeeper leader作用
    闭包的潜在用处
    Keystone controller.py & routers.py代码解析
    zookeeper 同步
    elk 分布式数据同步
    mget 同时获取
    Elasticsearch 单模式下API的增删改查操作
    安装 插件,查看插件
  • 原文地址:https://www.cnblogs.com/george-cw/p/11479888.html
Copyright © 2011-2022 走看看