CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

如何删除文件夹?

楼主accp(教育改变生活)2002-04-02 20:22:56 在 VB / 基础类 提问

如何根据文件删除文件夹(如user.db),在不知道文件夹名的前提下,如果文件夹中包括  
  user.db   则删除它这个文件夹.请写具体一点.谢谢!  
  问题点数:50、回复次数:3Top

1 楼ch21st(www.blanksoft.com)回复于 2002-04-02 20:32:39 得分 25

检测文件是否存在   返回主页    
  Function   FileExists(FileName   As   String)   As   Boolean  
          On   Error   Resume   Next  
          FileExists   =   Dir$(FileName)   <>   ""  
          If   Err.Number   <>   0   Then  
                  FileExists   =   False  
          End   If  
          On   Error   GoTo   0  
  End   Function    
     
   
   
   
   
   
  采用递归算法删除带有多级子目录的目录    
  Option   Explicit  
   
  Private   Sub   Command1_Click()  
  Dim   strPathName   As   String  
  strPathName   =   ""  
  strPathName   =   InputBox("请输入需要删除的文件夹名称∶",   "删除文件夹")  
  If   strPathName   =   ""   Then   Exit   Sub  
   
  On   Error   GoTo   ErrorHandle  
  SetAttr   strPathName,   vbNormal   '此行主要是为了检查文件夹名称的有效性  
  RecurseTree   strPathName  
  Label1.Caption   =   "文件夹"   &   strPathName   &   "已经删除!"  
  Exit   Sub  
  ErrorHandle:  
  MsgBox   "无效的文件夹名称:"   &   strPathName  
  End   Sub  
   
  Sub   RecurseTree(CurrPath   As   String)  
  Dim   sFileName   As   String  
  Dim   newPath   As   String  
  Dim   sPath   As   String  
  Static   oldPath   As   String  
   
  sPath   =   CurrPath   &   "\"  
   
  sFileName   =   Dir(sPath,   31)   '31的含义∶31=vbNormal+vbReadOnly+vbHidden+vbSystem+vbVolume+vbDirectory  
  Do   While   sFileName   <>   ""  
  If   sFileName   <>   "."   And   sFileName   <>   ".."   Then  
  If   GetAttr(sPath   &   sFileName)   And   vbDirectory   Then   '如果是目录和文件夹  
  newPath   =   sPath   &   sFileName  
  RecurseTree   newPath  
  sFileName   =   Dir(sPath,   31)  
  Else  
  SetAttr   sPath   &   sFileName,   vbNormal  
  Kill   (sPath   &   sFileName)  
  Label1.Caption   =   sPath   &   sFileName   '显示删除过程  
  sFileName   =   Dir  
  End   If  
  Else  
  sFileName   =   Dir  
  End   If  
  DoEvents  
  Loop  
  SetAttr   CurrPath,   vbNormal  
  RmDir   CurrPath  
  Label1.Caption   =   CurrPath  
  End   Sub  
     
  将两个程序结合起来,或者搜索硬盘上的user.db搜索到,删除所在文件夹  
  你是不是针对oicq来的Top

2 楼sonicdater(事过境迁,除了技术,我什么都没有了)回复于 2002-04-02 20:37:23 得分 25

Private   Declare   Function   GetFullPathName   Lib   "kernel32"   Alias   "GetFullPathNameA"   (ByVal   lpFileName   As   String,   ByVal   nBufferLength   As   Long,   ByVal   lpBuffer   As   String,   ByVal   lpFilePart   As   String)   As   Long  
   
  Private   Sub   Form_Load()  
          Dim   Buffer   As   String,   Ret   As   Long  
          'create   a   buffer  
          Buffer   =   Space(255)  
          'copy   the   current   directory   to   the   buffer   and   append   'myfile.ext'  
          Ret   =   GetFullPathName("user.db",   255,   Buffer,   "")  
          'remove   the   unnecessary   chr$(0)'s  
          Buffer   =   Left(Buffer,   Ret)  
          'show   the   result  
          'MsgBox   Buffer  
           
          'Delete   Folder  
          RmDir   Left(Buffer,Len(Buffer)-Len(user.db)-1)  
  End   Sub  
  Top

3 楼accp(教育改变生活)回复于 2002-04-02 20:59:53 得分 0

谢谢了Top

相关问题

  • 如何删除非空文件夹。
  • PB如何删除一个文件夹?
  • 如何在Delphi里删除文件夹?
  • 如何删除 System Volume Information 文件夹
  • 在DOS中如何删除文件夹?
  • 如何删除文件夹????在线等
  • 如何删除非空文件夹?
  • 如何删除一个文件夹?
  • 如何删除文件夹(文件夹包含文件和子目录)
  • 如何删除掉文件夹名字为空格的文件夹?

关键词

  • 文件夹
  • db
  • 删除
  • sfilename
  • spath
  • strpathname
  • currpath
  • fileexists
  • caption
  • 名称

得分解答快速导航

  • 帖主:accp
  • ch21st
  • sonicdater

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo