查找文件夹内所有文件

简介: 查找文件夹内所有文件
void CTestDlg::OnButton1()   
{
CFileDialog   mFileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
"所有文件(*.*)|*.*",   NULL/*AfxGetMainWnd()*/);
if(mFileDlg.DoModal()==IDOK)
{
CString   strPathName=mFileDlg.GetPathName();
CString strDir =   strPathName.Left(strPathName.ReverseFind('\\'));
std::vector<CString>   vecFile;
OnTraverseFolder( strDir,vecFile );
} // 这段是找路径的
}     
void CTestDlg::OnTraverseFolder(const CString&   strDir,std::vector<CString>& vecFile) //这段是读取文件夹内所有文件的     
{
WIN32_FIND_DATA FindFileData;
CString strDirTmp;
strDirTmp =   strDir;
strDirTmp += "\\*.*";
HANDLE   hFind=::FindFirstFile(strDirTmp,&FindFileData);
if(INVALID_HANDLE_VALUE   ==   hFind)
{
return;
}
while(TRUE)
{
if(FindFileData.dwFileAttributes   & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!=   _T('.'))
{
strDirTmp = strDir;
strDirTmp += "\\";
strDirTmp +=   FindFileData.cFileName;
OnTraverseFolder(strDirTmp,vecFile)   ;
}
}
else
{
strDirTmp = strDir;
strDirTmp +=   "\\";
strDirTmp +=   FindFileData.cFileName;
vecFile.push_back(strDirTmp);
}
if(!FindNextFile(hFind,&FindFileData))   break;
}
FindClose(hFind);
}
相关文章
|
4月前
文件查找和文件权限
文件查找和文件权限
43 0
|
存储 Linux Shell
厉害了!除了find命令,还有这么多文件查找命令,高手必备!
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 在系统里查找文件,是所有工程师都必备的技能(不管你用的是 Windows 、Linux、还是 MacOS 系统)。
厉害了!除了find命令,还有这么多文件查找命令,高手必备!
|
网络安全 数据库
find命令/文件名后缀
2.23/2.24/2.25 find命令 2.26 文件名后缀   find 搜索文件的命令: which   它是从环境变量中找: [root@centos_1 ~]# which ls alias ls='ls --color=auto' /usr/bin/ls   ...
1317 0
|
数据库 索引
文件查找
which 找可执行文件位置 locate 默认每天0点扫盘,将文件信息作为索引写入数据库。(updatedb可手动更新库) whereis 只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
690 0
|
开发工具 知识图谱
ls命令 & 文件属性
一、文件属性 1、文件类型   -:普通文件(f)   d:目录文件   b:块设备文件(block)   c:字符设备文件(character)   l:符号链接文件(symbolic link file)   p:命令管道文件(pipe)   s:套接字文件(socket...
1260 0