Empty Directory Utility Under NT | CodeGuru

Empty Directory Utility Under NT

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 […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 4, 2000
1 minute read
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.

Advertisement

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;
}
CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.