读书人

关于删除文件夹解决方案

发布时间: 2012-04-15 18:39:21 作者: rapoo

关于删除文件夹
找到了一个很好的例子
这个例子生成的工程只能删除程序所在目录的指定文件夹,那如果我要删除D:\123\ 下的某个文件夹要如何修改?

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
================================
这个例子生成的工程只能删除程序所在目录的指定文件夹,那如果我要删除D:\123\ 下的某个文件夹要如何修改?


[解决办法]
汗.

strPathName = InputBox( "请输入需要删除的文件夹名称∶ ", "删除文件夹 ")

你输入你要删除的目录就行了啊

比如,要删除D:\123\456目录,那就输入这个啊
[解决办法]
何必做的复杂,用FSO,或API,简单就把文件夹带文件删除

这里有个简单参考一下吧: Shell "Cmd.exe /C rd /S /Q " & "你的路径 " ,vbhide

读书人网 >VB

热点推荐