在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历。递归遍历代码如下:

/************************************************************************/
/* 遍历打包目录下的所有文件                                             */
/************************************************************************/
void CCopyFileCheckerDlg::FindFileInDir(CString rootDir)
{// 查找当前路径下的所有文件夹和文件CString strDir = rootDir;strDir += "\\*.*";// 遍历得到所有子文件夹名CFileFind finder; BOOL bWorking = finder.FindFile(strDir);while (bWorking)  {  bWorking = finder.FindNextFile();if (finder.IsDirectory() && "." != finder.GetFileName() && ".." != finder.GetFileName())//注意该句需要排除“.”“..”{//递归调用if(finder.GetFileName() != L"源PE文件")FindFileInDir(finder.GetFilePath());}else{CString strFile = finder.GetFilePath();CString strFileName = finder.GetFileName();CString strFileExtension = GetFileExtension(strFileName);if(L"." != strFileName&&L".." != strFileName){if(strFileExtension.CompareNoCase(L"exe") == 0 ||strFileExtension.CompareNoCase(L"dll")==0){if(IsNeedCopy(strFileName,strFile)){m_nPEFileNum ++;INT nRow = m_listResult.InsertItem(m_nCount, strFile);//插入行m_listResult.SetItemText(nRow, 1, strFile);//设置数据m_listResult.SetCheck(nRow,TRUE);m_progress.SetPos(m_nCount);}}}}} finder.Close();
}

  

转载于:https://www.cnblogs.com/JczmDeveloper/p/3571438.html

VC/MFC 下 递归遍历目录下的所有子目录及文件相关推荐

  1. windows系统下递归遍历目录下的所有文件

    c++代码如下: int GetAllFilepathFromfolder(char* Path) {char szFind[MAX_PATH];WIN32_FIND_DATA FindFileDat ...

  2. java 递归 遍历目录下的所有文件

    public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...

  3. 递归 遍历目录下的所有文件

    public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...

  4. linux sed 目录递归,shell递归遍历目录下的所有文件并统一改名的方法-文件更名...

    对Linux开发技术感兴趣或者是从事Linux开发技术的小伙伴是否知道如何把某个目录下的每个文件统一在名字前加上"abc",用shell实现呢?下面就随Linux培训小编来了解一下 ...

  5. python 递归遍历目录排序_python下递归遍历目录和文件

    方法一:递归调用: import os def dirlist(path, allfile): filelist =  os.listdir(path) for filename in filelis ...

  6. [转载] Python递归遍历目录下所有文件查找指定文件

    参考链接: Python目录和文件管理 之前看到网上有人说『os.path.isdir()判断必须写绝对路径』,当时心想Python不是有迭代上下文吗,为什么不行?遂作本文验证之 代码部分 考虑用一个 ...

  7. python遍历目录下所有文件_Python递归遍历目录下所有文件

    #自定义函数: importos path="D:\\Temp_del\\a" defgci (path):"""this is a statemen ...

  8. Python Tricks(九)—— 递归遍历目录下所有文件

    递归的一大应用场景便在于不知其层数. import os def list_filename(path):for d in os.listdir(path):d = path + '/' + d # ...

  9. Linux和Windows的遍历目录下所有文件的方法对比

    首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...

最新文章

  1. ajax中的让渡,jQuery必须掌握的API
  2. [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
  3. 基于Android移动终端的微型餐饮管理系统的设计与实现3-技术整合
  4. WPF下可编辑Header的Tab控件实现
  5. Java ThreadLocal的使用
  6. java s结尾的工具类_FilenameUtils工具类
  7. ApplicationContext 和 BeanFactory 的区别
  8. import lombok 报错_Lombok注解@Getter @Setter详解
  9. Qt之加减乘除四则运算-支持负数
  10. 如何保障企业数据资产的全生命周期安全?看这篇就够了
  11. java块语句_Java运算符、表达式、语句块
  12. 前端多个圆圈均匀横向排列_web前端工程师必须掌握的24条宝贵经验!让你在前端路上更轻松!...
  13. 新一配:一篇看懂加油站产业链解决方案
  14. 写论文一定要会-------中英文参考文献的导出方法
  15. 教你怎么煲耳机 让声音更美妙!
  16. 苹果xr截屏怎么截_原来苹果手机自带长截屏功能!以前一直不知道,真让人相见恨晚...
  17. 字符集与比较规则及在Mysql中的应用
  18. 工作流 workflow 理论知识
  19. 基于U3D的VR开发教程:(2)Vive详解
  20. 移动距离 奇妙的数字

热门文章

  1. android ndk 多线程mk,Android NDK 开发教程六: application.mk
  2. freebasic 编译linux,FreeBasic库文件入门 [SJ ZERO原创,沧海冷心翻译]
  3. 欠20万信用卡卡奴自救方法
  4. 两相电机倒顺开关的接法是什么?
  5. 越是爱折腾的人就越容易成功
  6. 在淘宝买水果短斤缺两是不是成了潜规则?
  7. 职位越高的人,越容易犯5个错
  8. 新模式卖保健品,怎么做到年入5百万?
  9. 生意做到一定规模,老板想面面俱到,亲力亲为就不可能了
  10. Git的下载与安装(详细)