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

转载 2012年03月23日 09:03:31

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


#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);
}

相关文章推荐

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

一、准备知识 1、WIN32_FIND_DATA数据结构         WIN32_FIND_DATA结构描述了一个由FindFirstFile, FindFirstFileEx, 或FindN...
  • YM_MS
  • YM_MS
  • 2011年10月17日 19:04
  • 682

ubuntu创建、删除文件及文件夹,强制清空回收站方法

ubuntu创建、删除文件及文件夹,强制清空回收站方法 mkdir 目录名         => 创建一个目录 rmdir 空目录名      => 删除一个空目录 rm 文件名 文件名  ...

ubuntu创建、删除文件及文件夹,强制清空回收站方法

mkdir 目录名         => 创建一个目录 rmdir 空目录名      => 删除一个空目录 rm 文件名 文件名   => 删除一个文件或多个文件 rm –rf 非...

ubuntu创建、删除文件及文件夹,强制清空回收站方法

mkdir 目录名         => 创建一个目录 rmdir 空目录名      => 删除一个空目录 rm 文件名 文件名   => 删除一个文件或多个文件 rm –rf 非空目录...

Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法

tp://hi.baidu.com/%B0%A2%CD%F2/blog/item/a45890673218382fab184ca4.htmlUbuntu下创建、重命名、删除文件及文件夹,强制清空回收站...

ubuntu linux创建、删除文件及文件夹,强制清空回收站方法

mkdir 目录名创建一个目录 rmdir 空目录名删除一个空目录 rm 文件名文件名删除一个文件或多个文件 rm –rf 非空目录名删除一个非空目录下的一切 touch 文件...
  • hhhhh89
  • hhhhh89
  • 2016年12月30日 18:44
  • 110

ubuntu创建、删除文件及文件夹,强制清空回收站方法

原文 mkdir 目录名创建一个目录 rmdir 空目录名删除一个空目录 rm 文件名文件名删除一个文件或多个文件 rm –rf 非空目录名删除一个非空目录下的一切 touch 文件名创...

ubuntu创建、删除文件及文件夹,强制清空回收站方法

ubuntu创建、删除文件及文件夹,强制清空回收站方法   mkdir目录名创建一个目录 rmdir空目录名删除一个空目录 rm文件名文件名删除一个文件或多个文件 rm -rf非空目录名...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何用C语言清空特定文件夹中的所有文件
举报原因:
原因补充:

(最多只允许输入30个字)