永发信息网

求一个Delphi能删除指定文件夹下的所有文件的demo

答案:2  悬赏:70  手机版
解决时间 2021-03-20 02:05
求一个Delphi能删除指定文件夹下的所有文件的demo
最佳答案
Delphi 能够调用 Win32 API 函数吧,因为我用的是 C++ 语言,所以具体代码就不写出来了,给你大概思路:
枚举指定目录下的所有文件,如果是文件,则删除,如果是目录,则递归枚举。
下面是 C++ 代码:
bool DeleteDir( char* szDirPath )
{
int iFileNameLen = strlen( szDirPath );
char szTempDirPath[ MAX_PATH ];
ZeroMemory( szTempDirPath, sizeof( char ) * MAX_PATH );

if( '\\' == szDirPath[ iFileNameLen - 1 ] ) sprintf( szTempDirPath, "%s*.*", szDirPath );

WIN32_FIND_DATA wfd;

HANDLE hFile = FindFirstFileA( szTempDirPath, &wfd );

if( INVALID_HANDLE_VALUE == hFile )
{
printf( "Find First File Failed..." );
return false;
}

while( 0 != FindNextFileA( hFile, &wfd ) )
{
if( 0 == strcmp( ".", wfd.cFileName ) || 0 == strcmp( "..", wfd.cFileName ) )
continue;

char szPath[ MAX_PATH ];
ZeroMemory( szPath, sizeof( char ) * MAX_PATH );
sprintf( szPath, "%s%s\\", szDirPath, wfd.cFileName );

// 如果是目录,则递归枚举
if( FILE_ATTRIBUTE_DIRECTORY == wfd.dwFileAttributes )
{
DeleteDir( szPath );
}
// 否则,就是文件,我们删除它
else
{
DeleteFileA( szPath );
}
}

CloseHandle( hFile );

return true;
}
全部回答
你好! 使用API函数FindFirstFile、FindNextFile和DeleteFile就可以实现了! 并不复杂! 打字不易,采纳哦!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
各位,我这两天好倒霉啊,昨天苹果手机被人偷
医院应该履行“治病救人,救死扶伤”吗?
茶会聚怎么去啊,有知道地址的么
宝马X3刹车指示灯常亮如何清除.
州可以加什么偏旁
七朵组合第一代解散了,第二代也解散了吗?
中国人打工移民波兰有何好处吗
特斯拉放弃私有化放弃的真正原因是什么?
议论文《为文第一要激动》的阅读答案 急啊!
赵家庄村在哪里啊,我有事要去这个地方
如新spa机放到4档不工作是怎么回事
微信上如何辨别对方是不是骗子?
严姓承字辈怎么起来
如何用马克思理论去论述环境治理的紧迫性
乌龟加热棒怎么用
推荐资讯
丝毫的近义词是什么
关于地图,百度腾讯与高德这三款手里地图哪个
奥迪q50b5变速箱挂档冲击
vb6 GetSetting 函数需要添加什么“引用”或
现在是高二上半学期,就这样的成绩能不能学理
我初恋男友快离婚了,他说我跟他是命中注定的
微信发出的图片怎么撤回
保健品行业已经出现行业垄断了吗
宠乐园宠物生活会馆地址在什么地方,想过去办
问一下关于灼眼的夏娜3结局的几个问题
双重标准双重人格?
母婴店名称大全
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?