c遍历所有文件夹中的文件

简介:

一个小程序,可以遍历所有文件夹中的文件并打印出来


#include "stdio.h" 
#include "windows.h"

void find(char * lpPath) 
{
	char szFind[MAX_PATH],szFile[MAX_PATH];

	WIN32_FIND_DATA FindFileData;

	strcpy(szFind,lpPath);
	strcat(szFind,"\\*.*");

	HANDLE hFind=::FindFirstFile(szFind,&FindFileData);

	if(INVALID_HANDLE_VALUE == hFind) 
		return;

	while(TRUE) 
	{
		if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
		{
			if(FindFileData.cFileName[0]!='.') 
			{
				strcpy(szFile,lpPath);
				strcat(szFile,"\\");
				strcat(szFile,FindFileData.cFileName);
				find(szFile);
			}
		}
		else 
		{
			printf("%s\n",FindFileData.cFileName);
			//printf("%s\n",FindFileData.dwFileAttributes);
			//printf("%d\n",FindFileData.ftCreationTime.dwHighDateTime);
			//printf("%d\n",FindFileData.ftCreationTime.dwLowDateTime);
		}
		if(!FindNextFile(hFind,&FindFileData)) 
			break;
	}
}


 
void main() 
{
	char filepath[MAX_PATH]="e:\\findobj";
	find(filepath);

	//system("PAUSE");
}


这个find函数是按字母排序进入文件夹查找【文件夹也在字母排序中】,这个特性十分重要,因为直接决定了我写的另外一个小程序copy files功能的实现。

加了一句话  printf(szFile);【另外,由这句话发现,在VC++6.0环境中可以直接printf变量,而不用格式占位符。。。】


while(TRUE) 
	{
		if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
		{
			if(FindFileData.cFileName[0]!='.') 
			{
				strcpy(szFile,lpPath);
				strcat(szFile,"\\");
				strcat(szFile,FindFileData.cFileName);

				printf(szFile);
				find(szFile);
			}
		}
		else 
		{
			printf("%s\n",FindFileData.cFileName);
			//printf("%s\n",FindFileData.dwFileAttributes);
			//printf("%d\n",FindFileData.ftCreationTime.dwHighDateTime);
			//printf("%d\n",FindFileData.ftCreationTime.dwLowDateTime);
		}
		if(!FindNextFile(hFind,&FindFileData)) 
			break;
	}


输出:



相关文章
|
5月前
|
机器学习/深度学习 Python
删除指定文件夹重复的文件
这是一个Python脚本,用于删除指定文件夹(包括子目录)中的重复图片文件,基于文件的MD5值。程序依赖`NStudyPy`库,可通过`pip install -U NStudyPy`安装。核心函数`delete_repeat_file`接收路径和是否递归参数,调用未展示的`get_repeat_file`函数获取重复文件并删除。
49 1
|
6月前
如何把多个文件(夹)随机复制到多个文件夹中
该文介绍了如何使用一个工具批量随机复制文件。首先,提供了两个下载工具的链接,分别是百度网盘和蓝奏云,需要提取码分别为"qwu2"和"2r1z"。接着,展示了工具的界面和操作步骤:在“文件批量复制”版块,开启“随机复制”选项,然后分别复制源文件路径和目标文件夹路径,最后点击开始复制。如果需要,可选择“复制后删除”原文件。完成复制后,检查目标文件夹以确认20个图片已正确随机分布。
|
6月前
|
定位技术 索引 Python
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
Python遍历多个子文件夹并基于文件名特征将文件复制到不同的目标文件夹
|
JSON 数据格式
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
|
SQL 安全 应用服务中间件
笔记-目录遍历
笔记-目录遍历
191 0
笔记-目录遍历
C#编程-18:遍历某一路径下所有文件和文件夹
C#编程-18:遍历某一路径下所有文件和文件夹
520 0
|
Python
【面试题】实现文件夹中文件的遍历输出
【面试题】实现文件夹中文件的遍历输出
【面试题】实现文件夹中文件的遍历输出
递归删除指定文件-目录
递归删除指定文件-目录
124 0
|
分布式计算 Hadoop 开发者
文件和文件夹的判断| 学习笔记
快速学习文件和文件夹的判断
233 0