当前位置:首页 » 文件管理 » c循环文件夹

c循环文件夹

发布时间: 2023-01-06 09:48:12

Ⅰ C盘里有个文件夹像死循环一样,如C:\0酷狗手机助手\新建文件夹\0酷狗手机助手\新建文件夹就像这样没完没了

估计是有一个程序在一直监控,如果监控到被删除了就创建。这个流氓手段很可恨啊。

Ⅱ 请我如何c语言遍历文件夹

#include <windows.h>

/************************************************/
*参数说明:
char *pszDestPath为需要遍历的目标路径
/************************************************/

EnmuDirectory(char *pszDestPath)
{
//此结构说明参MSDN
WIN32_FIND_DATA FindFileData;
//查找文件的句柄
HANDLE hListFile;
//绝对路径,例:c:\windows\system32\cmd.exe
char szFullPath[MAX_PATH];
//相对路径
char szFilePath[MAX_PATH];
//构造相对路径
wsprintf(szFilePath, "%s\\*", pszDestPath);
//查找第一个文件,获得查找句柄,如果FindFirstFile返回INVALID_HANDLE_VALUE则返回
if((hListFile = FindFirstFile(szFilePath, &FindFileData)) == INVALID_HANDLE_VALUE)
{
//查找文件错误
return 1;
}
else
{
do
{
//过滤.和..
//“.”代表本级目录“..”代表父级目录
if( lstrcmp(FindFileData.cFileName, TEXT(".")) == 0 ||
lstrcmp(FindFileData.cFileName, TEXT("..")) == 0 )
{
continue;
}
//构造全路径
wsprintf(szFullPath, "%s\\%s", pszDestPath, FindFileData.cFileName);
//读取文件属性,如果不是文件夹
if(!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
//这里你可以自己添加分析是某种类型文件的代码。可以根据
//扩展名分析。

//这里有个实例,你可以看看

//有必要初始化一下
char *pszFileType = NULL;
//把pszFileType指向cFileName的倒数第三个数符。因为一般扩展名长为3个字符。
//当然,你也可以用其它方法分析扩展名。或倒序查“.”
pszFileType = &(FindFileData.cFileName[strlen(FindFileData.cFileName) - 3]);
//如果是jpg结尾的文件
if(!stricmp(pszFileType, "jpg"))
{
FILE *fp;
//或许这里打开C:\\data.txt不应该用"w+",你可试着来
fp = fopen("c:\\data.txt", "w+");
if(fp) fputs(szFullPath, fp);
fclose(fp);
}

}

//如果是文件夹,则递归调用EnmuDirectory函数
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
EnmuDirectory(szFullPath);
}
//循环,查找下一个文件
}while(FindNextFile(hListFile, &FindFileData));
}
//关闭句柄
FindClose(hListFile);
//清空结构。可有可无的一句代码。函数退出会自动清空。
ZeroMemory(&FindFileData, sizeof(FindFileData));
return 0;
}

这是windows api版的,还有MFC版的和C版的。要的话来找我Q:503267714

Ⅲ C# 遍历文件夹下所有子文件夹中的文件,得到文件名

输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:

/// <summary>

/// 查找指定文件夹下指定后缀名的文件

/// </summary>

/// <param name="directory">文件夹</param>

/// <param name="pattern">后缀名</param>

/// <returns>文件路径</returns>

public void GetFiles(DirectoryInfo directory, string pattern, ref List<string> fileList)

foreach (FileInfo info in directory.GetFiles(pattern))

catch (System.Exception ex)

foreach (DirectoryInfo info in directory.GetDirectories())//获取文件夹下的子文件夹

语言结构

类:一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。

以上内容参考:网络-c#

Ⅳ C语言 怎么使用一个循环能够将一个文件夹中的文件(二进制文件)逐个打开(可以对其进行修改)

这个需要使用 Win32 API 函数
FindFirstFile( ) 函数可以查找到一个文件
FindNextFile( ) 可以打开下一个文件
循环调用 FindNextFile( ) 可以遍历枚举目录里面的所有文件,包括目录

Ⅳ C盘出现....文件夹,进去以后是无限循环的C盘目录,不知道能不能删除这是什么情况。删除就没事了么

是快捷方式 吧,而且此快捷方式指定的位置是C盘。所以你点到C盘又看到它,再点再循环。 你在C盘中选择查看方式为详细,可以知道它是什么类型的。如果是LINK类型的文件,直接删掉就可以了。

Ⅵ 求c语言高手解答:利用if或者do。。while循环,创建5个文件夹,文件名为1.dat 2.dat 3.dat 4.dat 5.dat。

#include <direct.h>
#include <string.h>
#include <stdio.h>

int main()
{
char s[100];
int i;
for(i=1;i<=5;i++)
{
sprintf(s,"D:\\%d.dat",i);
if(_mkdir(s)==0)
printf("Create directory Success\n");
else
printf("Problem creating directory\n");
}
}

Ⅶ C/C++编程遍历文件夹,统计当前文件个数,输出文件名

这个要正对不同的操作系统,不同的操作系统,文件节点的存放方式不一样,读取的方式就不一样了。
可以利用for循环,像Linux
dir=opendir
(dirname)打开文件夹,返回目录指针,dp=readdir(dir)利用读目录,返回一行行读取目录的文件结构体指针,指针中存的有文件属性,是文件,还是文件夹。
通过判断是文件或者文件夹:
如果是文件,就就输出文件名dp->name
否则,就是一个文件夹
继续dir1=opendir(dp->name),dp1=readdir(dir1)..
一直循环到判断不到目录了。
windows应该也有类似的函数吧,这个我就么有用过了,你找找。

Ⅷ 在windows下 怎么用c语言遍历文件夹要用纯c的

什么叫纯C?
用C语言遍历文件肯定需要用到函数,标准C下貌似没有这个函数,但是使用VC的函数库可能可以实现,如果实在不行可以用第三方函数库,,,还不行的话用system("command");引用dos命令可以遍历,

Ⅸ 在一个目录下循环新建一个开不完的文件夹,用批处理,c语言也可

批处理简单3句就可以搞定.
md a
cd a
%0

放到D盘根目录下运行,具体创建了多少层的文件夹,你自己运行后再数吧,哈...

PS:windows的文件夹层数是有限制的,好像是不高于200吧,所以运行到最后会出错,提示找不到路径了.(但没关系,已经创建了很多层了)

Ⅹ C语言:如何遍历指定的文件夹(可以包括子文件夹)中的每一个文件名

Function SearchFiles(Path As String, FileType As String)
Dim Files() As String '文件路径
Dim Folder() As String '文件夹路径
Dim a, b, c As Long
Dim sPath As String

sPath = Dir(Path & FileType) '查找第一个文件

Do While Len(sPath) '循环到没有文件为止
a = a + 1
ReDim Preserve Files(1 To a)
Files(a) = Path & sPath '将文件目录和文件名组合,并存放到数组中
List1.AddItem Files(a) '加入list控件中
sPath = Dir '查找下一个文件
DoEvents '让出控制权
Loop

sPath = Dir(Path & "\", vbDirectory) '查找第一个文件夹

Do While Len(sPath) '循环到没有文件夹为止
If Left(sPath, 1) <> "." Then '为了防止重复查找
If GetAttr(Path & "\" & sPath) And vbDirectory Then '如果是文件夹则。。。。。。
b = b + 1
ReDim Preserve Folder(1 To b)
Folder(b) = Path & sPath & "\" '将目录和文件夹名称组合形成新的目录,并存放到数组中
End If
End If
sPath = Dir '查找下一个文件夹
DoEvents '让出控制权
Loop

For c = 1 To b '使用递归方法,遍历所有目录
SearchFiles Folder(c), FileType
Next

End Function

Private Sub Command1_Click() '调用
SearchFiles "e:\", "*.exe"
End Sub

热点内容
stl常用算法 发布:2025-08-28 04:01:28 浏览:439
货运发布源码 发布:2025-08-28 03:44:26 浏览:438
希望之村怎么进单人服务器教程 发布:2025-08-28 03:35:54 浏览:836
数据库题型 发布:2025-08-28 03:35:19 浏览:167
python列表元素 发布:2025-08-28 03:35:08 浏览:736
康奈尔大学专业访问学者 发布:2025-08-28 03:33:35 浏览:980
马恩数据库 发布:2025-08-28 02:56:58 浏览:359
如何搭建自己的kms服务器 发布:2025-08-28 02:46:29 浏览:859
java取对象的属性 发布:2025-08-28 02:35:29 浏览:718
工商年审登录密码是多少 发布:2025-08-28 02:34:46 浏览:249