搜档网
当前位置:搜档网 › QT遍历文件夹目录图片文件的实现

QT遍历文件夹目录图片文件的实现

QT遍历文件夹目录图片文件的实现
QT遍历文件夹目录图片文件的实现

数码相框实现遍历文件夹图片文件

一、功能介绍:

在为数码相框所在文件系统实现U盘自动挂载之后,将U盘自动挂载在开发板上文件系统中的/mnt/usb目录,故还需为数码相框添加遍历/mnt/usb路径下的文件夹内图片文件,暂定为扫描指定目录下一层文件夹内的图片文件。

二、参考资料:

以下一段代码为使用QT实现遍历文件夹和文件目录(递归法)

bool FindFile(const QString & path)

{

QDir dir(path);

if (!dir.exists())

return false;

dir.setFilter(QDir::Dirs|QDir::Files);

dir.setSorting(QDir::DirsFirst);

QFileInfoList list = dir.entryInfoList();

int i=0;

do{

QFileInfo fileInfo = list.at(i);

if(fileInfo.fileName()=="."|fileInfo.fileName()=="..")

{

i++;

continue;

}

bool bisDir=fileInfo.isDir();

if(bisDir)

{

nFiles++;

std::cout << qPrintable(QString("%1 %2 %3").arg(fileInfo.size(), 10)

.arg(fileInfo.fileName(),10).arg(fileInfo.path()))<

FindFile(fileInfo.filePath());

}

else{

nFiles++;

std::cout << qPrintable(QString("%1 %2 %3").arg(fileInfo.size(), 10)

.arg(fileInfo.fileName(),10).arg(fileInfo.path()))<

}

i++;

}while(i

return true;

}

三、实现过程

1.主要使用以下qt类

Qdir——QDir则可以指定目录,以取得所指定目录或其中的项目信息(档案、目录等),可以设定名称过滤、属性过滤(像是只读、档案或是目录等等)与排序,过滤与排序可以使用setNameFilter()、setFilter()与setSorting()方法来设定,可以使用entryList()来取得一个目录下的所有档案与子目录字符串名称,或是使用entryInfoList()传回QFileInfoList,当中包括目录中所有项目的QFileInfo指针

QfileInfo——QFileInfo就是用来取得指定的档案之相关讯息,像是相对或绝对路径信息、隐藏属性、大小、最后更新等,为了加快存取档案的信息,QFileInfo会快取信息,如果档案在快取信息之后,被使用者作了修正,则可以使用refresh()更新QFileInfo的信息。QFileInfo 可以是符号链接(Symbol Link)、目录或档案,由isFile()、isDir()与isSymLink()来作判断。

2.实现代码:

//初始化参数

bool RenderArea::init()

{

dirNum=0; //指定当前目录在指定目录下一层子目录的序号

dirEndNum=0; //指定指定目录下一层子目录的数量

bool reTurn=false;

i_dirpic=0; //图片序号

dir=tr("/mnt/usb");

dirlist<

QDir picdir0(dir);

//判断文件夹是否为空

if (!picdir0.exists())

{

qDebug("x1");

dirNum=-1;

return reTurn;

}

picdir0.setFilter(QDir::Dirs|QDir::NoDotAndDotDot);

QFileInfoList list0 = picdir0.entryInfoList();

//判断文件夹内文件夹数量是否为0

if(list0.size()<1)

{

qDebug("x3");

return reTurn;

}

dirEndNum=list0.size();

//获取指定路径下一层文件夹路径列表

for(int ii=0;ii

{

QFileInfo fileInfo0 = list0.at(ii);

QString path=fileInfo0.filePath();

dirlist<

}

//递归遍历文件夹内图片文件

dirNum=picList(dirlist.at(dirNum));

if(dirNum!=-1)

{

reTurn=true;

emit getDir(dirlist.at(dirNum), i_dirpic);

}

qDebug("dirNum=%d",dirNum);

return reTurn;

}

//显示指定路径下第一张照片(遍历一层子目录)int RenderArea::picList(QString nPicdir)

{

QDir picdir(nPicdir);

QStringList filters;

filters << "*.bmp" << "*.jpg" << "*.png"<<"*.gif";

picdir.setNameFilters(filters);

QFileInfoList list = picdir.entryInfoList();

if(list.size()<1 && dirNum

{

qDebug("return");

dirNum++;

if(dirNum==(dirEndNum+1))

{

dirNum=-1;

return dirNum;

}

picList(dirlist.at(dirNum));

return dirNum;

}

QFileInfo fileInfo = list.at(i_dirpic);

QString path=fileInfo.filePath();

return dirNum; //返回文件目录序号

}

树的遍历:文件目录结构的显示

数据结构课程设计报告 树的遍历:文件目录结构的显示 专业 计算机科学与技术 学生姓名 **** 班级 计算机*** 学号 ***** 指导教师 徐燕萍 完成日期 2014年7月4日

目录 1、设计内容 (2) 2、设计分析 (3) 2.1建立树形链表结构的函数PARSE() (3) 2.2目录大小重新计算函数RE S IZE() (4) 2.3输出树形结构的函数OUT P UT() (5) 3、设计实践 (5) 4、测试方法 (14) 4.1测试目的 (14) 4.2测试输入 (15) 4.3正确输出 (15) 4.4实际输出 (17) 5 程序运行效果 (19) 5.1测试结果分析 (19) 5.2探讨与改进 (19) 6 设计心得 (20) 1

树的遍历:文件目录结构的显示 1、设计内容 给出Unix下目录和文件信息,要求编程实现将其排列成一定缩进的树。具体要求如下。输入要求: 输入数据包含几个测试方案。每一个案例由几行组成,每一行都代表了目录树的层次结构。第一行代表目录的根节点。若是目录节点,那么它的孩子节点将在第二行中被列出,同时用一对圆括号“()”界定。同样,如果这些孩子节点钟某一个也是目录的话,那么这个目录所包含的内容将在随后的一行中列出,有一对圆括号将首位界定。目录的输入格式为:*name size,文件的输入格式为:name size,其中*代表当前节点的目录,name代表文件或目录的名称,由一串长度不大于10的字符组成,并且name字符串中不能包含有‘(’,‘)’,‘[’,‘]’,‘*’。size是该文件/目录的大小,为大于0的整数。每一个案例中最多只能包含10层,每一层最多有10个文件/目录。 输出要求: 对每一个测试案例,输出时要求:第d层的文件/目录名前面需要插入8*d个空格,兄弟节点之间要在同一列上。不要使用Tab(制表符)来统一输出的缩进。每一个目录的大小(size)是它包含的所有子目录和文件大小以及它自身大小的总和。 输入例子: */usr1 (*mark 1 *alex 1) (hw.c3 *course 1)(hw.c 5) (aa.txt 12) */usr 1 () 表示含有两个不同的根目录,目录名都是/usr,第一个根目录/usr 下包含mark和alex两个子目录,mark目录下包含大小为3的文件hw.c和子目录course,alex目录下有一个大小为5的文件hw.c,子目录course下包含文件aa.txt,其大小为12;第二个根目录/usr下为空。 2

计算机中的文件和文件夹

《计算机中的文件和文件夹》小学三年级信息技术下册 教 学 设 计 兴庆区第二十二小学 王娇

计算机中的文件和文件夹 教材分析: 本册教材是由宁夏教育厅教研室编著,电子工业出版社出版的《小学信息技术》三年级(下册)第3单元《熟悉“我的电脑”》中的《计算机中的文件和文件夹》一课。本节课内容是第3单元中的最后一课,前两节课主要涉及到使学生认识我的电脑窗口,知道我的电脑中有什么,为本节课学习《计算机中的文件和文件夹》奠定了坚实的基础。本节课的内容主要是使学生理解文件、文件夹、子文件夹的含义,通过学生亲自实践能将文件、文件夹、子文件夹三者区分开,从而更深入的理解三者之间的关系。 教学设想: 这节课的教学面对的是小学三年级学生,通过前一段时间的学习他们对计算机操作系统有了一定的了解,在操作技能方面也具有一定的基础。根据三年级学生的身心发展特点,这一阶段的学生对新事物比较好奇,着重要培养学生学习兴趣。所以在这节课的开始我通过情境导入,来激发学生学习的兴趣;接着通过形象生动的讲解,使学生能有一定的感性认识;通过问题的设置,使学生能够开动脑筋积极的去思考;通过任务驱动,让学生亲自动手实践,在实践中掌握新知识和操作技能;最后对本节课内容进行小结、梳理,及学生的自评和互评,使学生对新知识、技能和情感态度方面有了更进一步的提升。 教学目标: 1、理解文件与文件夹的含义。 2、能将文件、文件夹、子文件夹三者区分开,理解三者之间的密切关系。 3、了解常用的文件类型和文件名。 4、通过学习,培养学生的发散思维,探索能力和小组团结协作能力。 教学重点:认识文件、文件夹和子文件夹。 教学难点:区分文件、文件夹和子文件夹,及三者之间的关系。 教学准备:多媒体网络教室、教具(文件盒、文件袋、一片纸质作文、一幅美术作品、一个音乐光盘、三个小文件袋)

Linux C :遍历输出指定目录下的所有文件

Linux C :遍历输出指定目录下的所有文件 在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件: #include #include opendir函数的原型为: DIR *opendir(const char *name); 它返回一个DIR*类型,这就是一个句柄啦,你不用管它的内部结构是什么样的,只要知道这个句柄就是等一下要传给readdir()函数的参数就行了。 readdir函数的原型为: struct dirent *readdir(DIR *dir); 看它的参数就知道该参数是opendir函数返回的句柄,而该函数的返回值是struct dirent* 类型,这里我们必须了解一下这个结构体: struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* offset to the next dirent */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }; 这个结构体的d_name存放的就是文件的名字,这里的文件包括普通文件,目录文件等等,在linux的思想中,所有的东西都是文件。 closedir函数的原型为: int closedir(DIR *dir); 这个函数就不用多说了,一般有开(open),就有关(close),这样的结构经常可出看到,如fopen,fclose等等。 三个函数介绍完了,直接来一个例子吧: SearchDir.c#include #include #include #include #include char filename[256][256]; int len = 0; int trave_dir(char* path, int depth) { DIR *d; //声明一个句柄 struct dirent *file; //readdir函数的返回值就存放在这个结构体中 struct stat sb;

C#遍历目录下的所有文件夹

//这个是网上转的上一个也是仿照这个改的同样是win32控制台程序学习! using System; using System.Collections.Generic; using System.Text; using System.IO; namespace TestFileInfo { class Program { static void Main(string[] args) { string pathNames=null; do { Console.Write("请输入目录路径名(输入x退出程序):"); pathNames = Console.ReadLine(); if ((pathNames == "X") || (pathNames == "x")) break; DirectoryInfo dirPath = new DirectoryInfo(pathNames); CDirectoryInfo dirObject = new CDirectoryInfo(); Console.Write(dirObject.GetDirectoryInfos(dirPath)); Console.WriteLine("______________________________________________ ________/n"); //dirObject.pathNameProp = null; //Console.Write(dirObject.GetDirectoryInfos(pathNames)); //Console.WriteLine("_____________________________________________ ________"); } while (true);//((pathName == "X") || (pathName == "x")); Console.Write("/n程序已终止,按任意键退出程序!"); Console.ReadKey(); } }

查找文件或文件夹

查找文件或文件夹 Windows 提供了查找文件和文件夹的多种方法。搜索方法无所谓最佳与否,在不同的情况下可以使用不同的方法。 使用「开始」菜单上的搜索框 可以使用「开始」菜单上的搜索框来查找存储在计算机上的文件、文件夹、程序和电子邮件。若要使用「开始」菜单查找项目,请执行下列操作: 单击「开始」按钮,然后在搜索框中键入字词或字词的一部分。 在搜索框 中开始键入内容后,将立即显示搜索结果。 键入后,与所键入文本相匹配的项将出现在「开始」菜单上。搜索结果基于文件 名中的文本、文件中的文本、标记以及其他文件属性。 注意

从「开始」菜单搜索时,搜索结果中仅显示已建立索引的文件。计算机上的大多数文件会自动建立索引。例如,包含在库中的所有内容都会自动建立索引。有关“索引”的详细信息,请参阅“使用索引提高 Windows 搜索速度:常见问题”。 使用文件夹或库中的搜索框 通常您可能知道要查找的文件位于某个特定文件夹或库中,例如文档或图片文件夹/库。浏览文件可能意味着查看数百个文件和子文件夹。为了节省时间和精力,请使用已打开窗口顶部的搜索框。 文件夹或库中的搜索框 搜索框基于所键入文本筛选当前视图。搜索将查找文件名和内容中的文本,以及标记等文件属性中的文本。在库中,搜索包括库中包含的所有文件夹及这些文件夹中的子文件夹。 若要使用搜索框搜索文件或文件夹,请执行下列操作: 在搜索框中键入字词或字词的一部分。 键入时,将筛选文件夹或库的内容,以反射键入的每个连续字符。看到需要的文 件后,即可停止键入。 例如,假设文档库如下所示: 在搜索框中键入字词之前的文 档库 现在假设您要查找发票文件,因此在搜索框中键入“发票”。键入后,将自动对视图进行筛选,将看到如下所示的内容:

用vba遍历文件夹和子文件夹中的所有文件

在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹 using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info)

{ if (!info.Exists) return; else { DirectoryInfo dirInfo = info as DirectoryInfo; if (dirInfo != null) { foreach (var file in dirInfo.GetFileSystemInfos()) { FileInfo fileInfo = file as FileInfo; if (fileInfo != null) Console.WriteLine(fileInfo.FullName); else { listFiles(file as DirectoryInfo); } } }

} } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/9910427522.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/9910427522.html, + "
");//打印文件名

4认识文件和文件夹

4认识文件和文件夹

上课时间:年月日 教学题目:认识文件和文件夹 教学目标: 知识与技能: 1.学会浏览文件和文件夹。 2、学会管理文件和文件夹。 过程与方法:由老师的带领下,互相学习并亲手操作来学会浏览文件和文件夹,学会管理文件和文件夹。 情感态度价值观:提高学生的电脑操作能力。激发学生对计算机对兴趣,为学生计算机操作打好基础。 教学重点:学会浏览文件和文件夹,熟练管理文件和文件夹。教学难点:熟练管理文件和文件夹。 课型,课时:新课,一课时 教学手段:电脑,黑板, 教学方法:讲授法,演示法,动手操作法。 教学过程 1.导入新课: 老师:文件是一组有名称的相关信息的集合,程序和数据都是以文件的形式存放在计算机的硬盘中。Windows把文件组织到文件夹中,在文件夹中,可以有文件和文件夹,但在同一个文件夹中不能有同名同姓的文件或同名的文件夹。 文件名由主文件名和扩展名两部分组成。主文件名是文件的主要标记,而扩展名则表示文件的类型。文件类型不同时,其

从打开的“查看”下拉菜单中即可以看到各种显示方式。这时,就可以根据个人的需要进行选择。 (三)以不同方式排列文件 存储的文件不仅可以改变显示方式,还可以改变文件的显示顺序。这样方便对文件进行选择操作。以“类型”排列时,可以方便我们用鼠标选择相同类型的文件。 (四)搜索文件和文件夹 随着时间的推移,在计算机里创建的文件或文件夹会日益增多。在众多的文件中要找到一个需要的文件,会有一定的困难,利用“搜索”功能则可以顺利地解决这一问题。 ①单击“开始”一“搜索”——“文件或文件夹”命令,打开“搜索”窗口。 ②设置搜索条件,查找符合条件的对象。可以根据文件名称、类型、位置、大小、修改日期等条件进行精确查找。 文件名有点像外国人的名字,格式是“名.姓”。它们的“名”叫主文件名,“姓”叫“扩展名”。不同类型的文件,其扩展名也不一样。文件的名字可以由汉字、字母、数字等构成。 二、文件或文件夹的复制与移动 (一)选取文件和文件夹 在对文件或文件夹进行操作(移动、复制、删除等)之前,首先要选定文件或文件夹。其操作步骤如下: ①选取单个文件或文件夹:单击要选择的文件或文件夹图

递归遍历目录的实现(c)

由于工作中需要使用到遍历目录,所以就自己收集整理相关资料,写了下面的函数,希望对大家有所帮助。 #include #include #include #include //将数组myarray的内容复制到数组S中 void initarray(char s[],char myarray[]) { int i; for(i=0;i

使用boost中的filesystem类库遍历某个目录所有的文件

使用boost中的filesystem类库遍历某个目录所有的文件 #include #include 使用boost中的filesystem类库遍历某个目录所有的文件 int GetAllFileOfPath(const string strPath) { namespace fs = boost::filesystem; // 得到配置文件夹. if ( strPath.size() < 2 ) { return 0; } fs::path full_path( fs::initial_path() ); full_path = fs::system_complete( fs::path( strPath, fs::native ) ); unsigned long file_count = 0; unsigned long dir_count = 0; unsigned long err_count = 0; if ( !fs::exists( full_path ) ) { std::cout << "找不到配置文件目录,请检查该目录是否存在:" std::cout << full_path.native_file_string() << std::endl; return -1; } // 遍历配置文件所在的文件夹,得到所有的配置文件名. if ( fs::is_directory( full_path ) ) { fs::directory_iterator end_iter; for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr ) { try { if ( fs::is_directory( *dir_itr ) ) {

文件与文件夹练习题

文件与文件夹测试题 一、选择题 1.下列关于文件类型的说法中,错误的是。 A.txt表示文本文件 B.xls表示电子表格文件 C.wav表示声音文件 D.swf表示图形文件 2.JPG表示哪一类型的文件。 A.图像 B.动画 C.视频 D.音频 3在英文输入状态下,下列不能作为文件名的是。 A.! B.@ C.? D.% 4文件的扩展名主要是用于。 A.区别不同的文件 B.标识文件的类型 C.方便保存 D.表示文件的属性 5.在Windows系统中,文件夹是用于组织管理里磁盘文件的,它的组织形式是一种。 A.树形结构 B.环形结构 C.直线结构 D.三角结构 6.在Windows文件管理操作中,要查看文件或文件夹的修改时间,查看方式选择。 A.大图标 B.小图标 C.列表 D.详细资料 7.Windows中,若要一次选择不连续的几个文件或文件夹,正确的操作是。 A.单击“编辑”菜单的“全部选定” B.单击第一个文件,然后按住Shift键单击最后一个文件 C.单击第一个文件,然后按住Ctrl键单击要选择的多个文件 D.按住Shift键,单击首尾文件 8.在D盘“学习资料”文件夹中有一个文件名为“lianxi3.TXT”的文件,从文件扩展名中,知道该文件的类型是。 A.音频类 B.图像类 C.视频类 D.文档类 9.下列图标中,表示文件类型为图片的是。

A B C D 10.在Windows操作系统中,关于文件和文件夹,下列说法错误的是。 A.在同一文件夹下,可以有两个不同名称的文件 B.在不同文件夹下,可以有两个相同名称的文件 C.在同一文件夹下,可以有两个相同名称的文件 D.在不同文件夹下,可以有两个不同名称的文件 11.在“我的电脑”和“资源管理器”中,下列对文件和文件夹的操作结果的描述中,正确的是。 A.移动文件后,文件不会从原来的位置消失,同时在目标位置出现 B.复制粘贴文件后,文件会从原来的位置消失,同时在目标位置出现 C.选中多个文件或文件夹后,只有没被选中的文件仍然保留在磁盘上 D.系统默认情况下,删除硬盘上的文件或文件夹后,删除的内容被放入回收站 12.下列各项中不是文件的属性。 A.隐藏 B.移动 C.存档 D.只读 13.在资源管理器的文件夹框中,带“—”的文件夹图标表示该文件夹。 A.不能展开 B.已经展开,可以折叠(即关闭) C.包含文件 D.包含子文件夹,可以展开 14.下列哪个文件不是图片文件。 A.catl.gif https://www.sodocs.net/doc/9910427522.html,puter.ppt C.tree.bmp D.banner.jpg 15.在某文件夹窗口中共有15个文件,其中有5个被选定,执行编辑菜单反向选择命令后,有个文件被选中。 A.5 B.20 C.10 D.15 16查看一个图标所表示的文件类型、位置、大小等,可使用右键菜单的命令。A.打开 B.发送到 C.重命名 D.属性

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject)

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject) 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第一种方法:使用filesearch对象 Sub mysearch() Dim fs, i, arr(1 To 10000) Set fs = Application.FileSearch '设置一个搜索对象 With fs .LookIn = ThisWorkbook.Path & "/" '设置搜索路径 .Filename = "*.xls" '要搜索文件名和类型 .SearchSubFolders = True '是否需要搜索子文件夹 If .Execute > 0 Then '如果找不到文件 MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." '显示文件找不到 For i = 1 To .FoundFiles.Count '通过循环把所有搜索到的文件存入到数组中 arr(i) = .FoundFiles(i) Next i Sheets(1).Range("A1").Resize(.FoundFiles.Count) = Application.Transpose(arr) ' '把数组内的路径和文件名放在单元格中 Else MsgBox "There were no files found." End If End With End Sub 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "/" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info) { if(!info.Exists) return; DirectoryInfo dir = info as DirectoryInfo; //不是目录 if(dir == null) return; FileSystemInfo [] files = dir.GetFileSystemInfos(); for(int i = 0; i < files.Length; i++) { FileInfo file = files[i] as FileInfo; //是文件 if(file != null)

Console.WriteLine(file.FullName + "\t " + file.Length); //对于子目录,进行递归调用 else ListFiles(files[i]); } } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/9910427522.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/9910427522.html, + "
");//打印文件名 Response.Write(dChild.FullName + "
");//打印路径和文件名}

用vba遍历文件夹和子文件夹中的所有文件

精品文档 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub .

《查找文件和文件夹》教案

查找文件和文件夹 【教材分析】 本节课是《用资源管理器管理文件》的第二节内容:查找文件及文件夹。资源管理器窗口有一定的优势,但不能提高查找文件或文件夹的速度。因此教材的第二课时安排查找文件及文件夹的方法来解决找的速度。本节课紧扣教材的这一精神,使用教材的案例作为基础,但对教学过程作了一些调整和补充,知识由浅入深,加强学生灵活使用计算机的技能,增加了学生小组互助式的学习方式。 本课的设计思路:从文件及文件夹的理解入手,引入地址,课本做一做为实践基础,在此基础上细化问题,一是查找已知名的文件及文件夹,再细化查找文件名比较全的文件,拓展扩展名的应用。二是查找部分或未知名的文件的方法,引出两个通配符?*的使用方法;三是查找一定范围的文件的方法,如容量、日期。通过这三类情况的查找学习,学生在今后的实践中就可以游刃有余地使用它了。 【学情分析】 学生通常使用电脑找一个文件或文件夹,只能逐个对应的找,既浪费时间,效率不高,还影响学生使用电脑的情绪,以此认识使用电脑很难。 【教学目标】 一、知识与技能

1.掌握查找已知名的文件及文件夹的方法; 2.掌握未知名或部分名的文件的查找方法; 3.掌握在一定范围内查找文件的方法。 二、过程与方法 通过环环相扣的问题来观察窗口的特点,并且通过学生观察和实践来认识窗口、感受窗口的优势之处,培养观察、实践、自主学习以及逻辑思考能力。 三、情感、态度和价值观 通过问题的形式学习窗口,培养学生对问题的细化和分解能力,同时也培养学生讨论学习和观察学习的能力,培养他们乐于思考的学习态度。 【教学重点】 1、文件与文件夹的关系,查找文件和文件夹的方法 2、用资源管理器、查找程序 【教学难点】 1、查找文件和文件夹的方法 2、用资源管理器查找文件和文件夹 【课时安排】

C++遍历目录下所有文件名

#include "stdlib.h" #include "direct.h" #include "string.h" #include "string" #include "io.h" #include "stdio.h" #include #include "iostream" using namespace std; /******************说明********************* 能够读出指定目录下所有指定类型的文件名,而且 支持通配符过滤特定类型文件。同时也能够输出文件总数和子目录总数**************************************/ class CBrowseDir { protected: //存放初始目录的绝对路径,以'\'结尾 char m_szInitDir[_MAX_PATH]; public: //缺省构造器 CBrowseDir(); //设置初始目录为dir,如果返回false,表示目录不可用 bool SetInitDir(const char *dir); //开始遍历初始目录及其子目录下由filespec指定类型的文件 //filespec可以使用通配符* ?,不能包含路径。 //如果返回false,表示遍历过程被用户中止 bool BeginBrowse(const char *filespec); vector BeginBrowseFilenames(const char *filespec); protected: //遍历目录dir下由filespec指定的文件 //对于子目录,采用迭代的方法 //如果返回false,表示中止遍历文件 bool BrowseDir(const char *dir,const char *filespec); vector GetDirFilenames(const char *dir,const char *filespec); //函数BrowseDir每找到一个文件,就调用ProcessFile //并把文件名作为参数传递过去 //如果返回false,表示中止遍历文件 //用户可以覆写该函数,加入自己的处理代码 virtual bool ProcessFile(const char *filename);

文件和文件夹的基本操作

《Windows 7》 文件与文件夹操作操作 遵义职业技术学院段云治 教学目标:学会文件夹的建立、重命名、复制、移动、删除、保护、及属性设置等操作。 教学重点:文件和文件夹的各种基本操作 教学难点:文件和文件夹的各种基本操作 教学过程: 引入:所有的资料是以文件的形式存入计算机的,因此对文件和文件夹的操作是计算机的最基本的操作。 一、选定文件或文件夹: 1、选定单个文件夹:用鼠标击要选定的对象。 2、选定单个连续文件(夹):单击第一个文件,按住shift再单击 最后一个文件。 3、选定不连续文件(夹):按住ctrl不放,用鼠标单击要 选定的的文件。 4、全部选定:单击编辑→全部选定 快捷键:ctrl+A 5、反向选定:单击编辑→反向选定

二、新建文件夹: 要建立文件夹,首先要选定位置,才能进行建立。 例如,在e:盘根目录下建立文件夹。 操作过程:使用快捷菜单。 1、首先选择新建文件夹所在的文件夹。双击我的电脑,在打开的窗口中找到e:盘,双击打开。 2、在任意空白处,单击鼠标右键,在弹出的菜单中选择新建—文件夹输入新名字后按回车键或者单击该名字方框外的任意位置。

三、文件夹的重命名: 操作过程:利用编辑菜单 1、选择要重命名的文件或文件夹,被选定的文件夹呈反蓝色显示。 2、单击文件菜单选择重命名命令。(或者右击利用快捷菜单选择重命名命 令)。 3、直接输入新的名字,击回车,重命名完成。 注意:同一文件夹下,不能有两个相同的文件或者文件夹,如果相同则重命名不成功。

把保存在磁盘的文件夹,复制到其它磁盘或同一磁盘不同的文件夹的操作,叫做文件夹的复制。 操作过程:利用工具栏 1、选择要复制的文件或文件夹。 2、单击工具栏上的复制按钮。 3、单击目标文件夹,使之成为当前文件夹。 4、单击工具栏上的粘贴按钮。把要复制的对象复制到目标文件夹中。 5、快捷键:Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴

QT遍历文件夹目录图片文件的实现

数码相框实现遍历文件夹图片文件 一、功能介绍: 在为数码相框所在文件系统实现U盘自动挂载之后,将U盘自动挂载在开发板上文件系统中的/mnt/usb目录,故还需为数码相框添加遍历/mnt/usb路径下的文件夹内图片文件,暂定为扫描指定目录下一层文件夹内的图片文件。 二、参考资料: 以下一段代码为使用QT实现遍历文件夹和文件目录(递归法) bool FindFile(const QString & path) { QDir dir(path); if (!dir.exists()) return false; dir.setFilter(QDir::Dirs|QDir::Files); dir.setSorting(QDir::DirsFirst); QFileInfoList list = dir.entryInfoList(); int i=0; do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="."|fileInfo.fileName()=="..") { i++; continue; } bool bisDir=fileInfo.isDir(); if(bisDir) { nFiles++; std::cout << qPrintable(QString("%1 %2 %3").arg(fileInfo.size(), 10) .arg(fileInfo.fileName(),10).arg(fileInfo.path()))<

相关主题