C++ 删除一个文件目录下的所有文件以及目录

 1 //删除一个文件目录下的所有文件,并删除当前文件夹 chrDirName = _T("c:\\123");
 2 BOOL CIVMSvrInfo::ReleaseDirectory(CString chrDirName)
 3 {
 4     BOOL bRemove = DoRemoveDirectory(chrDirName);
 5     if (bRemove)
 6         ::RemoveDirectory(chrDirName);
 7     else
 8         return FALSE;
 9
10     return TRUE;
11
12 } //end of CIVMSvrInfo::ReleaseDirectory()
13
14 //删除一个文件目录结构下的所有文件(不删除当前文件夹)
15 BOOL CIVMSvrInfo::DoRemoveDirectory(CString chrDirName)
16 {
17     CString strDirName = chrDirName;
18
19     BOOL result;
20     HANDLE Handle;
21     WIN32_FIND_DATA fData;
22     CString strTemp;
23
24     Handle = FindFirstFile(strDirName + "\\*.*", &fData);
25
26     if (Handle == INVALID_HANDLE_VALUE)
27         return FALSE;
28
29     do {
30         if ( fData.cFileName[0] == ‘.‘ )
31             continue;
32
33         if (fData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) {
34             if (strDirName[strDirName.GetLength()-1] != ‘\\‘){
35                 TCHAR chA[MAX_PATH];
36                 CString strA = strDirName+‘\\‘+ fData.cFileName;
37                 lstrcpy(chA, strA);
38                 DoRemoveDirectory(chA);
39             }
40             else{
41                 TCHAR chB[MAX_PATH];
42                 CString strB = strDirName + fData.cFileName;
43                 lstrcpy(chB, strB);
44                 DoRemoveDirectory(chB);
45             }
46
47             strTemp = strDirName + "\\" + fData.cFileName;
48
49             SetFileAttributes(strTemp, ~FILE_ATTRIBUTE_READONLY);
50             if (!RemoveDirectory(strTemp))
51                 result = FALSE;
52             else
53                 result = TRUE;
54         }
55         else
56         {
57             strTemp = strDirName + "\\" + fData.cFileName;
58             BOOL bl = SetFileAttributes(strTemp, ~FILE_ATTRIBUTE_READONLY);
59
60             if (!DeleteFile(strTemp))
61                 result = FALSE;
62             else
63                 result = TRUE;
64         }
65
66     }while(FindNextFile(Handle,&fData));
67
68     if (Handle)
69         FindClose(Handle);
70
71     return result;
72
73 }    // end of BOOL PreRemoveDirectory(CString DirName)
时间: 2024-12-20 05:42:16

C++ 删除一个文件目录下的所有文件以及目录的相关文章

Unity中删除文件目录下的所有文件和查看文件里面的内容

这个脚本中存储了: 删除文件夹中所有的文件的方法, 删除单个文件的方法 获取文本内容的方法 获取其他类型文本内容的方法 写入文本文件的方法 void Start () { string filePath = Application.streamingAssetsPath + "/" + "abb.txt"; #region 进行文件的删除 //string fullPath = Application.streamingAssetsPath; //bool isTr

C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法

原文地址:http://www.biye5u.com/article/Csharp/fileprog/2011/4198.html 本文给出了一个在C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法. public static void CopyFolder(string strFromPath,string strToPath){       //如果源文件夹不存在,则创建       if (!Directory.Exists(strFromPath))       {      

面试题求解:用java列举某个文件夹下所有的文件或者目录编程题

有人问及一个用java列举某个文件夹下所有的文件或者目录编程题.结果他不加思索的写了十几行代码,就搞定了,结果面试官说等通知,直到最后都没通知他,我猜想出题人的最终想法是看如何封装代码,如何灵活使用丰富的API. 于是我试着写一个可选择结果,希望对各位有用: import java.io.File; import java.io.FileFilter; /** 如何列出某个目录下的所有文件/目录 @author leizhimin 2010-3-22 20:58:37 */ public cla

(24)Python实现递归生成或者删除一个文件目录及文件

import os,errno #基本工具类 #①递归生成输入的路径下面的文件夹或文件 #②递归删除输入的路径下面的文件夹及文件 ''' param : dirPath return : AuthorCreated by Wu Yongcong 2017-8-17 function:remove a input dirPath and the files/dictionary under it ''' def removeDir(dirPath): if not os.path.isdir(di

【spring boot logback】日志logback 生成日志文件在本项目下,而不在指定的日志文件目录下/指定日志文件到达最大值后不按照配置进行切割

原本的日志文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>logback</contextName> <!--定义日志文件的存储地址 勿在 LogBac

Java 递归获取一个路径下的所有文件,文件夹名称

package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String[] args) { //路径 这里写一个路径进去 String path="F:\\QQ文档"; //调用方法 getFiles(path); } /** * 递归获取某路径下的所有文件,文件夹,并输出 */ public static void getFiles(String path

获取项目文件目录下的所有文件路径

WebService代码: private void GetDirectoryFiles() { string PageURL = contextW.Request.Form["PageURL"];//URL页面 string role_str = Utility.Tool.GetStrRole(PageURL);//在该页面的权限 if (!string.IsNullOrEmpty(role_str)) { string dir = contextW.Request.Form[&qu

Linux系统下查找大文件或目录的技巧

命令行如下 find . -type f -size +1000000k 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢? #已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小 du -sh [dirname|filename] 如: 当前目录的大小: du -sh . 当前目录下个文件或目录的大小: du -sh * [[email protected] var]# du -sh *12K     account1

IDEA 工具下导出文件及文件的目录结构插件

idea导出增量补丁插件 有时候需要导出IDEA的文件目录结构,即导出  指定修改后的JAVA文件编译后的CLASS .或者是修改过的jsp.配置文件等, 装载此插件,即可以完成导出文件  及文件的目录结构 1.下载地址:https://github.com/serical/patcher/blob/master/README.md     下载 patcher.jar 文件 适用于JavaWeb项目,客户现场除了第一次为全量部署外,后面的升级都是增量补丁,本插件可选择导出要升级的文件. 把pa