Click here to Skip to main content
15,886,872 members
Articles / Desktop Programming / MFC
Article

Delete folders, subfolders and files easily

Rate me:
Please Sign up or sign in to vote.
4.31/5 (12 votes)
20 Feb 2002 259.1K   30   46
This article shows you how to delete all the files and subfolders in a selected folder

Introduction

I Created this to show you how to delete all the files and subfolders in a selected folder including subfolders. It's very easy to understand and it's all by using the MFC (CFileFind, with some API functions)

void RecursiveDelete(CString szPath)
{
	CFileFind ff;
	CString path = szPath;
	
	if(path.Right(1) != "\\")
		path += "\\";

	path += "*.*";

	BOOL res = ff.FindFile(path);

	while(res)
	{
		res = ff.FindNextFile();
		if (!ff.IsDots() && !ff.IsDirectory())
			DeleteFile(ff.GetFilePath());
		else if (ff.IsDirectory())
		{
			path = ff.GetFilePath();
			RecursiveDelete(path);
			RemoveDirectory(path);
		}
	}
}

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 5 Pin
Rahul (Software Engineer)28-Sep-12 3:07
Rahul (Software Engineer)28-Sep-12 3:07 
Generalthank you, I used it on Win CE Pin
juankre2-Oct-11 10:22
juankre2-Oct-11 10:22 
GeneralMultiple File Creation/Deletion Pin
RockSai30-Nov-08 6:03
RockSai30-Nov-08 6:03 
GeneralCannot delete folder Pin
atans9-Jul-07 16:30
atans9-Jul-07 16:30 
GeneralRe: Cannot delete folder Pin
atans9-Jul-07 18:16
atans9-Jul-07 18:16 
Generalone condition is missing Pin
bjdodo7-Feb-07 5:12
bjdodo7-Feb-07 5:12 
QuestionWhy its not deleting the folders which contsins files? Pin
RaoSanthosh7-Sep-06 3:21
RaoSanthosh7-Sep-06 3:21 
GeneralI get an infinte loop with this code Pin
haleyana24-May-04 7:03
haleyana24-May-04 7:03 
GeneralRe: I get an infinte loop with this code Pin
andyvinc24-May-04 8:03
andyvinc24-May-04 8:03 
GeneralRe: I get an infinte loop with this code Pin
Anonymous20-May-05 3:27
Anonymous20-May-05 3:27 
GeneralDeleting file folder after reboot Pin
Balkrishna Talele20-Apr-04 20:55
Balkrishna Talele20-Apr-04 20:55 
GeneralRemoveDirectory() not found Pin
satya19756-Nov-03 5:45
satya19756-Nov-03 5:45 
GeneralRe: RemoveDirectory() not found Pin
Ravi Bhavnani6-Nov-03 6:29
professionalRavi Bhavnani6-Nov-03 6:29 
GeneralI have found it Pin
satya19756-Nov-03 6:52
satya19756-Nov-03 6:52 
GeneralDeleteFile() may fail. Pin
Anonymous9-Dec-02 9:20
Anonymous9-Dec-02 9:20 
GeneralFinally one that works! Pin
26-Feb-02 2:36
suss26-Feb-02 2:36 
GeneralRe: Finally one that works! Pin
16-May-02 3:51
suss16-May-02 3:51 
GeneralRe: Finally one that works! Pin
Fess66219-Feb-04 21:50
Fess66219-Feb-04 21:50 
GeneralRe: Finally one that works! Pin
sfeldi1-Mar-04 22:03
sfeldi1-Mar-04 22:03 
how not?
RemoveDirectoryRecursive(path)
does actually the DeleteFile on the sub dir (and looks for other possible subdirs).
And when you Delete all files in it and there are no more subdirs you get out of it, then you have to remove the directory (the empty one, now) with RemoveDirectory and not with DeleteFile which removes files...
GeneralRe: Finally one that works! Pin
Anonymous11-Oct-05 2:27
Anonymous11-Oct-05 2:27 
QuestionDeleted files ----> recycle bin ??? Pin
26-Feb-02 0:14
suss26-Feb-02 0:14 
AnswerRe: Deleted files ----> recycle bin ??? Pin
Mustafa Demirhan27-Feb-02 20:36
Mustafa Demirhan27-Feb-02 20:36 
Generalthanks Pin
Mazdak21-Feb-02 23:13
Mazdak21-Feb-02 23:13 
QuestionIs this the easy way???? Pin
Mustafa Demirhan21-Feb-02 16:46
Mustafa Demirhan21-Feb-02 16:46 
AnswerRe: Is this the easy way???? Pin
BLaZiNiX21-Feb-02 16:52
BLaZiNiX21-Feb-02 16:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.