删除一个文件夹

<script src="win.js" type="text/javascript"></script>

1,  Windows API RemoveDirectory函数,但是此函数只能删除具有权限的文件夹。一般空文件夹是可以删除的,而在“文件夹 1 中只有一个“空文件夹 2 ,却不能用此函数删除文件夹1

2,  用递归的方法。

删除文件夹,计算文件夹的大小等等都是用递归的方法。

从原理上讲,使用递归方式遍历目录树,先删除一个目录里的所有文件,然后删除目录。删除文件和空目录用DeleteFileRemoveDirectory 

BOOL CDeleteProjectDlg::deleteFolder( CString strFolderPath )

{

WIN32_FIND_DATA fd;  

HANDLE  hFind;

if(strFolderPath.Right(1) != "//")
{
  strFolderPath += "//";
}

hFind = FindFirstFile(strFolderPath   +   "*.*",&fd);  

   

if (hFind != INVALID_HANDLE_VALUE)  

{  

     while (FindNextFile(hFind, &fd))  

    {  

         //is directory?

         if   (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)  

         {  

             CString   name;  

             name   =   fd.cFileName;  

             //is "." or ".."

             if   ((name   !=   ".")   &&   (name   !=   ".."))  

             {  

                 //is directory, recursion

                 deleteFolder(strFolderPath + fd.cFileName   +   "//");  

             }  

         }  

         else

         {

             DeleteFile(strFolderPath + fd.cFileName);  

         }

     }  

     ::FindClose(hFind);  

}  

RemoveDirectory(strFolderPath);  

}  

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值