关闭

如何用C语言清空特定文件夹中的所有文件

标签: 语言cstring
475人阅读 评论(0) 收藏 举报
分类:

最近笔者在做一个有关计算机视觉的项目,需要对提前的视频帧进行实验,当数据量很大且文件夹中的子文件夹和文件很多时,手工删除这些文件不现实,笔者今天写了一个程序,通过机器自动删除所有相关文件,十分快速,删除时间几乎可以不计。
代码如下,仅供参考。


#include "iostream.h" //由于该博客系统发布是不能显示正常,代码如需调试,只需将改成""即可
#include "string.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"
#include "windows.h"
#include "stdio.h"
#include "shellapi.h"
#include "fstream.h"
#include "string"
using namespace std;

void main()
{
//清空特定文件夹中的所有文件
char* a=".";
char* b="";

WIN32_FIND_DATA FileData,FileData_0;
HANDLE hSearch,hSearch_0;
BOOL fFinished=FALSE;
hSearch=FindFirstFile("C:\\experiment\\results_stat\\*.*",&FileData); //输入特定文件的绝对路径名
if(hSearch==INVALID_HANDLE_VALUE)
{
printf("No files found.");
return;
}
while(!fFinished)
{
if(FileData.cFileName[0]!=a[0]){

b=FileData.cFileName;
string addr=string("C:\\experiment\\results_stat\\")+string(b)+string("\\")+string("*.*"); //输入特定文件的绝对路径名
hSearch_0=FindFirstFile(addr.c_str(),&FileData_0);
while(FindNextFile(hSearch_0, &FileData_0)){
if(FileData_0.cFileName[0]!=a[0]){
string addr_0=string("C:\\experiment\\results_stat\\")+string(b)+string("\\")+FileData_0.cFileName; //输入特定文件的绝对路径名
DeleteFile(addr_0.c_str()); //清空特定文件夹中的子文件夹中的所有文件
}
}
}
if(!FindNextFile(hSearch,&FileData))
{
if(GetLastError()==ERROR_NO_MORE_FILES)
{
fFinished=TRUE;
}
else
{
printf("Couldn't find next file.");
return;
}
}
}
FindClose(hSearch);
FindClose(hSearch_0);
}
0
0
查看评论

Windows下C获取文件夹下所有文件名

#include #include #define IMGNUM 20000 //图片所在文件夹中图片的最大数量 char img_files[IMGNUM][1000]; int getFiles(char *path) { int num_of_img = 0; long hFile...
  • sinat_30071459
  • sinat_30071459
  • 2016-11-15 22:06
  • 978

Windows下如何用C语言清空特定文件夹中的所有文件(转载)

前几天我做网络作业的时候涉及到一个功能,就是遍历目录,找出目录中的所有文件。和这个类似,原文如下,转自http://software.intel.com/zh-cn/blogs/2011/10/12/c-13/ 最近笔者在做一个有关计算机视觉的项目,需要对提前的视频帧进行实...
  • nkuzbp
  • nkuzbp
  • 2011-12-29 19:49
  • 3130

Windows下如何用C语言清空特定文件夹中的所有文件

#include "iostream.h"    //由于该博客系统发布是不能显示正常,代码如需调试,只需将改成""即可 #include "string.h" #include "stdlib....
  • pbymw8iwm
  • pbymw8iwm
  • 2012-08-22 20:46
  • 1566

如何用C语言清空特定文件夹中的所有文件

一、准备知识 1、WIN32_FIND_DATA数据结构         WIN32_FIND_DATA结构描述了一个由FindFirstFile, FindFirstFileEx, 或FindNextFile函数查找到的文件...
  • YM_MS
  • YM_MS
  • 2011-10-17 19:04
  • 724

C语言读取指定文件夹下面的所有文件

#include #include int main(int argc, char *argv[]) { struct _finddata_t fa; long fHandle; if( (fHandle=_findfirst( "*.txt", &fa ))...
  • fengyunzhongwei
  • fengyunzhongwei
  • 2014-08-11 11:02
  • 4358

c语言 遍历搜索文件夹(获取文件夹中所有内容)

详细介绍使用c语言完成遍历搜索文件夹(获取文件夹中所有内容)的操作。
  • aoshilang2249
  • aoshilang2249
  • 2014-07-15 16:45
  • 6259

c语言遍历某文件夹下的所有文件 包括子文件夹

void printdir(char *dir, int depth) {     DIR *dp;     struct dirent *entry;     struct stat statbuf;    ...
  • dp__mcu
  • dp__mcu
  • 2016-08-28 13:27
  • 1084

Python清空指定文件夹下所有文件的方法

这个需求很简单:需要在执行某些代码前清空指定的文件夹,如果直接用os.remove(),可能出现因文件夹中文件被占用而无法删除,解决方法也很简单,先强制删除文件夹,再重新建同名文件夹即可: import shutil shutil.rmtree('要清空的文件夹名') os.mkdi...
  • qysh123
  • qysh123
  • 2016-07-16 12:49
  • 17699

用C语言编程实现建立多个目录(文件夹)

因为要建立90个文件夹,本人实在不想一个一个的建立,就想是不是可以用C语言编程来实现呢,刚才查阅了很多博客,终于终于我实现了,可以用循环的方式建立了,也不属于自己原创,参考了很多大神的代码。现在我把源码贴出来,在Visual studio 2015上跑成功了。 #include #includ...
  • xxty1122
  • xxty1122
  • 2017-07-13 13:51
  • 641

C文件操作之--删除某文件中指定行

#include #include /** 删除指定文件filepath中第n行内容 **/ void Delete(char* filepath, int n) { char buf[128]; //每读取一行,都将内容放到该数组中 FILE* fp = fopen(filepat...
  • themagickeyjianan
  • themagickeyjianan
  • 2013-12-19 19:52
  • 2903
    个人资料
    • 访问:4659028次
    • 积分:65484
    • 等级:
    • 排名:第42名
    • 原创:1755篇
    • 转载:2554篇
    • 译文:101篇
    • 评论:343条
    博客专栏
    最新评论
    微信公众号
      为你推荐最新的博文~更有惊喜等着你