CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

怎么样直接用MKDIR建立深层目录?

楼主FUNDGIRL(阿弥陀佛(别抢我分,谢谢))2002-03-06 21:59:45 在 VB / 基础类 提问

今天真高兴,专家分超过1000了。  
  不过,很奇怪,我没得什么分啊?  
  谁给我加的???  
   
  问题点数:200、回复次数:2Top

1 楼kailong(凯龙)回复于 2002-03-06 22:03:53 得分 20

什么意思呀?Top

2 楼Bardo(巴顿(永远只有一个))回复于 2002-03-06 22:05:23 得分 180

你可以查看:我得分的问题  
   
  Public   Function   CreateDir(ByVal   strDirName   As   String,   _  
                                                      SucceedDir   As   String)   As   Boolean  
  '*****************************************************************  
  '函数功能:创建新的多级目录  
  '参数:strDirName:要创建的目录  
  '             SucceedDir:   成功创的目录  
  '成功则返回:True  
  '*****************************************************************  
        Dim   DirArrStr   As   Variant  
        '逐段检测其有效性。  
        Dim   i   As   Integer  
        Dim   j   As   Integer  
        Dim   k   As   Integer  
        Dim   NewDirStr   As   String  
        Dim   NoValidChar   As   Variant  
        Dim   nDriveType   As   Long  
        Dim   GnDriveType   As   Integer  
         
        On   Error   GoTo   HELL  
        '创建目录的无效字串(此处不包括":",因为有驱动器):  
        NoValidChar   =   Array("*",   ">",   "<",   "?",   "|",   Chr(34),   "/")  
        '字符转换为有效性字串:  
                   
                  Dim   bReplace   As   Boolean  
                   
                  For   j   =   0   To   6  
                          If   InStr(1,   strDirName,   NoValidChar(j),   vbTextCompare)   <>   0   Then  
                                  If   MsgBox("所给路径字串含非法字符,如要继续创建,这些字符将被删除。要继续创建吗?",   _  
                                    vbCritical   Or   vbYesNo,   "")   =   vbYes   Then  
                                          bReplace   =   True  
                                          Exit   For  
                                  Else  
                                          CreateDir   =   False  
                                          Exit   Function  
                                  End   If  
                          End   If  
                  Next   j  
                   
                  '如果需要转换  
                  If   bReplace   =   True   Then  
                          For   k   =   0   To   6  
                                  strDirName   =   Replace(strDirName,   NoValidChar(k),   "")  
                          Next   k  
                  End   If  
         
        '先将目录分为字符段  
        strDirName   =   Trim(strDirName)  
        strDirName   =   IIf(Right(strDirName,   1)   =   "\",   Left(strDirName,   Len(strDirName)   -   1),   strDirName)  
        DirArrStr   =   Split(strDirName,   "\")  
         
        NewDirStr   =   ""  
         
        For   i   =   0   To   UBound(DirArrStr)  
                If   i   =   0   Then  
                          If   Right(DirArrStr(i),   1)   =   ":"   Then  
                                  If   DirExists(DirArrStr(i)   &   "\")   Then  
                                          NewDirStr   =   DirArrStr(i)   &   "\"  
                                          nDriveType   =   GetDriveType(NewDirStr)  
                                          If   GnDriveType   <>   DRIVE_FIXED   Then  
                                                  If   GnDriveType   =   DRIVE_CDROM   Then  
                                                          MsgBox   "无法在光驱上创建目录!",   vbCritical   Or   vbOKOnly,   "区域信息化管理系统"  
                                                          CreateDir   =   False  
                                                          Exit   Function  
                                                  ElseIf   GnDriveType   =   DRIVE_REMOTE   Then  
                                                          If   MsgBox("所给路径驱动非本地驱动器,如要继续创建,这将不利于系统的运行。要继续创建吗?",   _  
                                                                    vbCritical   Or   vbYesNo,   "")   =   vbNo   Then  
                                                                    CreateDir   =   False  
                                                                    Exit   Function  
                                                          End   If  
                                                  End   If  
                                          End   If  
                                  Else  
                                          WriteErrLog   Nothing,   "CreateDir",   1068,   "所给路径非法,无法创建!"  
                                  End   If  
                          Else  
                                  WriteErrLog   Nothing,   "CreateDir",   1081,   "所给路径非法,无法创建!"  
                                  CreateDir   =   False  
                                  Exit   Function  
                          End   If  
                Else  
                          '有效字串长度不为0  
                          If   Len(DirArrStr(i))   <>   0   Then  
                                  '检测是否存在,不存在则创建  
                                  If   DirExists(NewDirStr   &   DirArrStr(i)   &   "\")   =   False   Then  
                                          If   InStr(1,   DirArrStr(i),   ":",   vbTextCompare)   <>   0   Then  
                                                  If   MsgBox("所给路径字串含非法字符,如要继续创建,这些字符将被删除。要继续创建吗?",   _  
                                                            vbCritical   Or   vbYesNo,   "")   =   vbNo   Then  
                                                            CreateDir   =   False  
                                                            Exit   Function  
                                                  End   If  
                                          End   If  
                                          MkDir   NewDirStr   &   DirArrStr(i)   &   "\"  
                                   
                                  End   If  
                                  NewDirStr   =   NewDirStr   &   DirArrStr(i)   &   "\"  
                          End   If  
                End   If  
        Next   i  
        SucceedDir   =   NewDirStr  
        CreateDir   =   True  
        Exit   Function  
         
  HELL:  
   
   
  Err.Clear  
  CreateDir   =   False  
       
  End   Function  
   
  Public   Function   DirExists(ByVal   strDirName   As   String)   As   Boolean  
  '*****************************************************************  
  '函数功能:返回目录是否存在  
  '存在则返回:True  
  '*****************************************************************  
   
          Const   strWILDCARD$   =   "*.*"  
   
          Dim   strDummy   As   String  
   
          On   Error   Resume   Next  
   
          strDirName   =   IIf(Right(strDirName,   1)   =   "\",   strDirName,   strDirName   &   "\")  
          strDummy   =   Dir$(strDirName   &   strWILDCARD,   vbDirectory)  
          DirExists   =   Not   (strDummy   =   vbNullString)  
   
          Err   =   0  
  End   Function  
   
  Top

相关问题

  • 如何遍历深层目录?
  • 如何建立目录?
  • 建立目录问题!!!!
  • web深层目录下调用javabean的疑问?
  • asp中如何建立目录?
  • 关于建立目录的问题!
  • 如何建立IIS虚拟目录
  • 如何建立目录,请帮帮我。
  • 如何用c#建立目录?
  • 怎样建立一个远程目录??

关键词

  • 字符
  • strdirname
  • dirarrstr
  • newdirstr
  • createdir
  • 创建
  • 目录
  • direxists
  • gndrivetype
  • novalidchar

得分解答快速导航

  • 帖主:FUNDGIRL
  • kailong
  • Bardo

相关链接

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

广告也精彩

反馈

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