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