[windows][C++][库]遍历删除文件夹
- #include"windows.h"
#include"string.h"- BOOL IsDirectory(const char *pDir)
- {
- char szCurPath[];
- ZeroMemory(szCurPath, );
- sprintf_s(szCurPath, , "%s//*", pDir);
- WIN32_FIND_DATAA FindFileData;
- ZeroMemory(&FindFileData, sizeof(WIN32_FIND_DATAA));
- HANDLE hFile = FindFirstFileA(szCurPath, &FindFileData); /**< find first file by given path. */
- if (hFile == INVALID_HANDLE_VALUE)
- {
- FindClose(hFile);
- return FALSE; /** 如果不能找到第一个文件,那么没有目录 */
- }
- else
- {
- FindClose(hFile);
- return TRUE;
- }
- }
- BOOL DeleteDirectory(const char * DirName)
- {
- // CFileFind tempFind; //声明一个CFileFind类变量,以用来搜索
- char szCurPath[MAX_PATH]; //用于定义搜索格式
- _snprintf(szCurPath, MAX_PATH, "%s//*.*", DirName); //匹配格式为*.*,即该目录下的所有文件
- WIN32_FIND_DATAA FindFileData;
- ZeroMemory(&FindFileData, sizeof(WIN32_FIND_DATAA));
- HANDLE hFile = FindFirstFileA(szCurPath, &FindFileData);
- BOOL IsFinded = TRUE;
- while (IsFinded)
- {
- IsFinded = FindNextFileA(hFile, &FindFileData); //递归搜索其他的文件
- if (strcmp(FindFileData.cFileName, ".") && strcmp(FindFileData.cFileName, "..")) //如果不是"." ".."目录
- {
- std::string strFileName = "";
- strFileName = strFileName + DirName + "//" + FindFileData.cFileName;
- std::string strTemp;
- strTemp = strFileName;
- if (IsDirectory(strFileName.c_str())) //如果是目录,则递归地调用
- {
- printf("目录为:%s/n", strFileName.c_str());
- DeleteDirectory(strTemp.c_str());
- }
- else
- {
- DeleteFileA(strTemp.c_str());
- }
- }
- }
- FindClose(hFile);
- BOOL bRet = RemoveDirectoryA(DirName);
- if (bRet == ) //删除目录
- {
- printf("删除%s目录失败!/n", DirName);
- return FALSE;
- }
- return TRUE;
- }
[windows][C++][库]遍历删除文件夹的更多相关文章
- PHP遍历、删除文件夹中的所有文件
<?php header("Content-type:text/html;charset=utf-8"); /** * getDirFile 遍历文件夹中的所有文件 * @p ...
- windows下删除文件夹里的 .svn
windows下: 删除文件夹里的 .svn, cmd 进入相应目录 运行 for /r ./ %a in (./) do @if exist "%a/.svn" rd ...
- python 实现彻底删除文件夹和文件夹下的文件
python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直 ...
- Python文件操作大全,随机删除文件夹内的任意文件
在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法: os.path.abspath(path) #返回绝对路径os.path.basename(path ...
- Qt删除文件夹
写的软件需要进行文件夹的复制,开始不怎么懂就找了个拷贝文件夹的代码测试了一下,运行程序选择了源目录和目标目录相同进行拷贝,结果悲剧了.因为是递归拷贝,导致文件夹被嵌套N层,软件死机,强制结束后,产生的 ...
- Java删除文件夹和文件
转载自:http://blog.163.com/wu_huiqiang@126/blog/static/3718162320091022103144516/ 以前在javaeye看到过关于Java操作 ...
- Web 在线文件管理器学习笔记与总结(15)剪切文件夹 (16)删除文件夹
(15)剪切文件夹 ① 通过rename($oldname,$newname) 函数实现剪切文件夹的操作 ② 需要检测目标文件夹是否存在,如果存在还要检测目标目录中是否存在同名文件夹,如果不存在则剪切 ...
- C# 添加,修改,删除文件夹/文件集合
C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...
- 【转】Java删除文件夹和文件
原文网址:http://kxjhlele.iteye.com/blog/323657 以前在javaeye看到过关于Java操作文件的一篇文章,写的很好,但找了半天也没找到,就把找到底几篇文章整理一下 ...
随机推荐
- static静态结合&符号理解
上代码,方法定义为静态变量 <?php function &test(){ static $c=222; return $c; } $a=&test(); echo $a; ec ...
- layoutSubviews #pragma mark -
>>>layoutSubviews: layoutSubviews是对sbuviews的重新布局,比如,我们想更新子视图的位置,可以通过调用layoutSubviews方法(不能直接 ...
- AppStore审核
应用被拒分为两种:Binary Rejected 和 Metadata Rejected.前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用. 1.应用内包含检查更新功能 iOS ...
- 安卓中級教程(2):@InjectView中的對象inject
package com.example.ele_me.util; import java.lang.annotation.Annotation; import java.lang.reflect.Fi ...
- 【iCore3 双核心板】例程六:IWDG看门狗实验——复位ARM
实验指导书及代码包下载: http://pan.baidu.com/s/1c0frjHm iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- php吧字符串直接转换成数组处理
$str ='123456'; echo strlen($str) - 1; echo '<br>'; echo $str{strlen($str) - 1}; echo '<br& ...
- Excel文件读写
C#读写Excel的方式有好几种,具体参考文章: http://www.cnblogs.com/huipengkankan/archive/2011/07/28/2120407.html 昨天大致研究 ...
- xib连线出错,模型保存cell状态(最后个Cell隐藏分割线),
一个.m文件中有好几个cell类,拖线,要看看该控件对应的是哪个类,否则点击事件不响应,因为归属的xib错了 拖不过来线,因为是view拖不动,加了个button就行了 使用模型属性记录是否隐藏c ...
- Avada主题通过自定义CSS全局更换微软雅黑字体
Avada主题的菜单.正文.标题.面包屑路径等等如果想更换为“微软雅黑”中文字体,只需要进入Avada主题的选项,倒数第二项有个Custom CSS,把下面的代码粘贴进去即可.当然你也可以自行改变字体 ...
- Qunie问题
Quine 以哲学家 Willard van Orman Quine (1908-2000) 而命名,表示一个可以生成他自己的完全的源代码的程序.编写出某个语言中最简短的 quine 通常作为黑客们的 ...