如何遍历整个目录

原创 2004年07月16日 19:43:00
#include <windows.h>
#include <shlobj.h>
//浏览目录.
void BrowseFolder( void )
{
TCHAR path[MAX_PATH];
BROWSEINFO bi = { 0 };
bi.lpszTitle = ("递归调用所有目录");
LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );
if ( pidl != 0 )
{
// 获取目录路径
SHGetPathFromIDList ( pidl, path );
//设置为当前路径
SetCurrentDirectory ( path );
//搜索所有子目录
SearchFolder( path );
// 释放内存
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
//搜索其下所有子目录及文件.
void SearchFolder( TCHAR * path )
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;

TCHAR filename[ MAX_PATH + 256 ];
TCHAR pathbak[ MAX_PATH ];
//复制初始用户选择目录
strcpy( pathbak, path );
//寻找第一个文件
hFind = FindFirstFile ( "*.*", &FindFileData );
//搜索所有文件及子目录
do
{
if ( hFind != INVALID_HANDLE_VALUE )
{
//如果是当前目录或父目录,跳过
if ( ! ( strcmp( FindFileData.cFileName, "." ) ) ||
! ( strcmp( FindFileData.cFileName, ".." ) ) )
{
continue;
}

//恢复初始用户选择目录
strcpy( path, pathbak );

//列出所有发现的文件
sprintf( path, "%s//%s", path, FindFileData.cFileName );
//如果 SetCurrentDirectory
成功的话,则它是一个目录,递归调用继续搜索子目录
if ( ( SetCurrentDirectory( path ) ) )
{
SearchFolder( path );
}

          //插入文件及路径名到列表框m_listbox_hwnd中
           SendMessage( m_listbox_hwnd, LB_ADDSTRING, 0, path );
//<--INSERT WHAT YOU WANT DONE HERE!
}
}
while ( FindNextFile ( hFind, &FindFileData ) && hFind !=
INVALID_HANDLE_VALUE );
FindClose ( hFind );
}

遍历整个目录

硬件/系统遍历整个目录 #include ...
  • Jason009
  • Jason009
  • 2006年09月28日 10:23
  • 909

读取CPU卡目录结构—层次遍历代码

层次结构遍历
  • sinat_22687267
  • sinat_22687267
  • 2017年12月01日 17:13
  • 37

js获取整个dom节点

不仅仅是获取节点名称,包括节点标签及其内部的内容。 下面介绍3中方法,直接上图 原生方法: jquery方法: 1. 2....
  • littlebearGreat
  • littlebearGreat
  • 2017年05月24日 12:06
  • 268

wget 下载整个网站,或者特定目录

转载自:http://www.cnblogs.com/lidp/archive/2010/03/02/1696447.html 需要下载某个目录下面的所有文件。命令如下 wget -c -r ...
  • memray
  • memray
  • 2013年09月16日 23:44
  • 41499

什么是目录遍历攻击及如何防护

前几日研究某Web项目源代码,使用的是ThinkPHP框架,根目录下有个www目录,存放项目模块的入口文件。顿时茫然,本人一般直接把入口文件放在web根目录,而这里却是www目录,不知www目录是何作...
  • Smallearth
  • Smallearth
  • 2014年10月24日 10:51
  • 2638

使用md5sum递归生成整个目录的sum

find ./ -type f -print0 | xargs -0 md5sum > ./my.md5  md5sum -c my.md5
  • andylao62
  • andylao62
  • 2015年03月23日 17:21
  • 1943

遍历整个目录树的文件和目录

在开发中我们常常需要遍历整个目录树,这是我们写一个这样的工具类,以后就方便多了,这个类中可以通过使用local()方法产生由本地目录中的文件构成的File对象数组,或者通过使用walk()方法产生给定...
  • xuguoli_beyondboy
  • xuguoli_beyondboy
  • 2015年04月16日 15:23
  • 1190

目录遍历漏洞详解

对于一个安全的Web服务器来说,对Web内容进行恰当的访问控制是极为关键的。目录遍历是Http所存在的一个安全漏洞,它使得攻击者能够访问受限制的目录,并在Web服务器的根目录以外执行命令。   ...
  • cherrie007
  • cherrie007
  • 2017年07月13日 16:45
  • 758

如何遍历整个目录树查找文件

在应用程序的开发过程中,会遇到如何查找某一文件以确定此文件路径的问题。利用CFileFind类可以比较方便地在当前目录下进行文件查找,但却不能对其子目录中的文件进行搜寻。而实际应用中往往需要对某一整个...
  • jiht594
  • jiht594
  • 2011年07月19日 15:58
  • 334

如何下载一个网站的整个目录

最近需要下载一些资料,但是有的是一个文集夹的多个文件,于是想到了wget,看了看手册太多了,希望能快点查到,于是在网上查了一圈,在http://www.lslnet.com/linux/docs/li...
  • zg_hover
  • zg_hover
  • 2009年02月19日 11:15
  • 11095
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何遍历整个目录
举报原因:
原因补充:

(最多只允许输入30个字)