社区
C++ Builder
帖子详情
如何获取一个目录下所有文件、目录以及其子目录下所有文件的文件名?
yifei1900
2003-03-31 06:27:56
最近想做一个清除Windows垃圾的小东东,
我都已经知道了哪些文件夹下有垃圾,
但苦于不知道:
如何获取一个目录下所有文件、目录以及其子目录下所有文件的文件名?
请高手赐教。
...全文
187
7
打赏
收藏
如何获取一个目录下所有文件、目录以及其子目录下所有文件的文件名?
最近想做一个清除Windows垃圾的小东东, 我都已经知道了哪些文件夹下有垃圾, 但苦于不知道: 如何获取一个目录下所有文件、目录以及其子目录下所有文件的文件名? 请高手赐教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gary_jojo
2003-04-01
打赏
举报
回复
我学.
xc2927
2003-04-01
打赏
举报
回复
学习
devie
2003-04-01
打赏
举报
回复
这是一个删除所有目录及文件的函数,你改动一下就可以了
bool Tzhu::deldir(char * dir_fullpath) // 删除指定的目录
{
char dir[260];
char filename[260];
int len = 0;
int ch = '\\';
strcpy(dir, dir_fullpath);
len = strlen(dir);
char *temp = strrchr(dir, ch);
if(len < 4 || temp == NULL) // 可能为磁盘根目录或者不是有效的目录路径
return false;
if(temp != NULL)
{
if((temp - dir + 1) != len) // 在目录后添加'\'
strcat(dir, "\\");
}
GetCurrentDirectory(260, filename);
strcat(filename, "\\");
if(strcmp(dir, filename) == 0) // 如果要删除的目录是当前目录
{
strcat(filename, "..");
SetCurrentDirectory(filename); // 改变当前目录
}
WIN32_FIND_DATA finddata;
HANDLE fFile;
bool flag;
strcpy(filename, dir);
strcat(filename, "*.*");
fFile=FindFirstFile(filename, &finddata);
flag=true;
if(fFile!=INVALID_HANDLE_VALUE) // 此目录不是空目录
{
BOOL bfind = true;
while(bfind)
{
if(finddata.cFileName[0] != '.')
{
strcpy(filename, dir);
strcat(filename, finddata.cFileName);
if(finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{ // 删除找到的子目录
strcat(filename, "\\");
flag = flag && deldir(filename);
}
else
{ // 删除找到的文件
SetFileAttributes(filename, FILE_ATTRIBUTE_NORMAL);
flag = flag && DeleteFile(filename);
}
}
bfind = FindNextFile(fFile, &finddata);
}
FindClose(fFile);
}
if(flag)
{
SetFileAttributes(dir_fullpath, FILE_ATTRIBUTE_NORMAL);
if(RemoveDirectory(dir_fullpath))
return true;
}
return false;
}
mme
2003-04-01
打赏
举报
回复
在bcb的example文件中有个例子,可以参考
yifei1900
2003-04-01
打赏
举报
回复
那么,再请教一下
Windows产生垃圾的文件夹有些是系统文件夹,如:Recent,Temporary Internet Files之类的,系统有没有什么API之类的,可以调用,然后来清除这些系统文件夹啊?
谢谢。
wwei07
2003-03-31
打赏
举报
回复
FindDir("c:\\","*");
//---------------------------------------------------------------------------
void __fastcall TForm1::FindDir(AnsiString sPath,AnsiString sFileName)
{
TSearchRec sr;
AnsiString sFullFileName = sPath + "\\" + sFileName;
int iAttributes1 = faDirectory;
int iAttributes2 = 0;
if (FindFirst(sPath+"\\*.*",iAttributes,sr)==0)
{
StatusBar1->SimpleText = (sPath + sr.Name);
if(sr.Attr == iAttributes2)
if(sr.Name == sFileName)
{
iScanCount++;
Memo1->Lines->Add(sFullFileName);
}
if(sr.Attr == faDirectory)
{
if(sr.Name !="."&&sr.Name !="..")
{
FindDir(sPath+"\\"+sr.Name,sFileName);
}
}
}
while (FindNext(sr)==0)
{
StatusBar1->SimpleText = (sPath + sr.Name);
if(sr.Attr == iAttributes2)
if(sr.Name == sFileName)
{
iScanCount++;
Memo1->Lines->Add( sFullFileName);
}
if(sr.Attr == faDirectory)
{
if(sr.Name!="."&&sr.Name!="..")
{
FindDir(sPath+"\\"+sr.Name ,sFileName);
}
}
}
FindClose(sr);
}
JerryGR
2003-03-31
打赏
举报
回复
FindFirstFile
FindNextFile
FindFile
CloseHandle
IsFolder
还有什么函数,记不太清楚了
你到MSDN中找找是不是有这样的函数
然后写一个递归程序就可以了
教你快速查找电脑中的
文件
不记得
文件
名
,只记得
文件
的部分内容的情况下,无法查找
文件
,实在是令人头疼。在这里教大家使用两个工具,1秒即可在电脑中找到你要的
文件
,支持按
文件
内容查找。学会后,让你的办公效率提升百倍。
Python
获取
指定
目录
下的所有
文件
路径、
获取
指定
目录
下所有
文件
名
(但是不包含
子
目录
中
文件
名
)、
获取
指定
目录
下所有pdf
文件
名
(但是不包含
子
目录
中pdf
文件
名
)
Python
获取
指定
目录
下的所有
文件
路径、
获取
指定
目录
下所有
文件
名
(但是不包含
子
目录
中
文件
名
)、
获取
指定
目录
下所有pdf
文件
名
(但是不包含
子
目录
中pdf
文件
名
)
PHP
获取
目录
及
子
目录
下所有
文件
名
思路:首先
获取
一个
目录
下所有
文件
名
可以使用 scandir() 函数。scandir() 函数返回指定
目录
中的
文件
和
目录
的数组。因为这个返回的数据不包含
子
目录
下
文件
,所以可以使用递归来处理。 /** * @param $dir 要查找...
Python中
获取
指定
目录
下所有
文件
名
的方法
通过递归以及os模块中提供的函数,可以
获取
指定
目录
下所有的
文件
名
。通过递归
获取
指定
目录
下所有
文件
名
的基本流程,如图1所示。图1 基本流程定义
一个
名为walk的函数,该函数有
一个
参数dirname,表示指定的当前
目录
,...
bat 命令
获取
当前
目录
和
子
目录
下的所有
文件
的
文件
名
获取
当前
目录
下的所有
文件
名
新建
一个
txt
文件
,
文件
内容 DIR *.* /B >LIST.TXT 保存,重命名为.bat
文件
2.包括
子
目录
文件
内容 @echo off if exist list.txt del list.txt /q :input cls set input=: ...
C++ Builder
13,822
社区成员
102,680
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章