Empty Directory Utility Under NT

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Environment: Tested on Windows NT (SP5) with Visual C++ 6 (SP4)

Description

What is it ?

A “Del [Path]*.*” /sxyz” NT utility.

Explanations:

I had to write a “Empty Directory” utility on WIN NT, without using Shell. So I wrote this function. I think it can be usefull
for programmers who don’t have time to learn Files under NT.

This is a recursive function which delete all the directories and files inside the directory sent as a parameter (sPath).
The Parameter ‘sPath’ has to be a full path name without “\” at the end.

So is it !

Attention !

With this call, you can empty every directory also important one.
I am not responsible for deleting important data with my Code !

Return Value:

TRUE if the directory exists,

FALSE if it not.

Code


// Include this line before your code where you call
// this function !
BOOL EmptyDirectory(CString &sPath);

// This is a recursive function which empty a directory path
// of its files and call itself if necessary to delete
// subdirectories.
BOOL EmptyDirectory(CString &sPath)
{
CFileFind finder;

CString sWildCard = sPath + “\*.*”;

BOOL bFound;
BOOL bWorking = finder.FindFile(sWildCard);

bFound = bWorking;

while (bWorking)
{
bWorking = finder.FindNextFile();

if (finder.IsDots()) continue;

if (finder.IsDirectory())
{
CString s = finder.GetFilePath();
EmptyDirectory(s);
RemoveDirectory(finder.GetFilePath());
continue;
}
_unlink( finder.GetFilePath() );

}

return bFound;
}

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read