在Visual Basic中删除带子文件夹的文件夹 |
OptionExplicit PrivateSubCommand1_Click() DimstrPathNameAsString strPathName="" strPathName=InputBox("请输入需求删除的文件夹名称∶","删除文件夹") IfstrPathName=""ThenExitSub OnErrorGoToErrorHandle SetAttrstrPathName,vbNormal'此行重要是为了 审查文件夹名称的有效性 RecurseTreestrPathName Label1.Caption="文件夹"&strPathName&"已经删除!" ExitSub ErrorHandle: MsgBox"无效的文件夹名称:"&strPathName EndSub SubRecurseTree(CurrPathAsString) DimsFileNameAsString DimnewPathAsString DimsPathAsString StaticoldPathAsString sPath=CurrPath&"\" sFileName=Dir(sPath,31)'31的 含意∶31=vbNormal vbReadOnly vbHidden vbSystem vbVolume vbDirectory DoWhilesFileName<>"" IfsFileName<>"."AndsFileName<>".."Then IfGetAttr(sPath&sFileName)AndvbDirectoryThen'假如是目录和文件夹 newPath=sPath&sFileName RecurseTreenewPath sFileName=Dir(sPath,31) Else SetAttrsPath&sFileName,vbNormal Kill(sPath&sFileName) Label1.Caption=sPath&sFileName'显示删除过程 sFileName=Dir EndIf Else sFileName=Dir EndIf DoEvents Loop SetAttrCurrPath,vbNormal RmDirCurrPath Label1.Caption=CurrPath EndSub |