VB中RmDir函数不能删除父文件夹吗?

发布网友 发布时间:2022-04-20 22:09

我来回答

3个回答

热心网友 时间:2024-01-13 21:30

用rmdir来删除,但使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误。所以在试图删除目录或文件夹之前,先使用 Kill 语句来删除所有文件.
Kill "*.*" 删除当前目录下所有文件
' 假设 MYDIR 为一空的目录或文件夹。
RmDir "MYDIR" ' 将 MYDIR 删除。追问是否能打一下完整程式码并说明 打这样子有点看不懂ㄝ

追答        MyPath = "C:\test_del"  ' 指定路径。    
        ifile = Dir(MyPath & "\*.*")   '查找所有文件
        Do While ifile = ""   
            Kill MyPath & "\" & ifile  '删除文件
            ifile = Dir
        Loop
        RmDir MyPath   '删除文件夹

热心网友 时间:2024-01-13 21:30

VB6.0代码如下:

'首先添加一个模块(Mole),里面是如下代码:
PublicConstBIF_RETURNONLYFSDIRS = 1
PublicConstBIF_DONTGOBELOWDOMAIN = 2
PublicDeclareFunctionSHBrowseForFolder Lib"shell32.dll"Alias"SHBrowseForFolderA"(LpBrowseInfo AsBROWSEINFO) AsLong
PublicDeclareFunctionSHGetPathFromIDlist Lib"shell32.dll"Alias"SHGetPathFromIDListA"(ByValpidl AsLong, ByValpszPath AsString) AsLong
PublicType BROWSEINFO
hOwner AsLong
pidlroot AsLong
pszDisplayName AsString
lpszTitle AsString
ulFlags AsLong
lpfn AsLong
lparam AsLong
iImage AsLong
EndType
PublicFunctionGetFolder(ByValhWnd AsLong, OptionalTitle AsString) AsString
 Dimbi AsBROWSEINFO
 Dimpidl AsLong
 Dimfolder AsString
 folder = Space(255)
Withbi
 IfIsNumeric(hWnd) Then.hOwner = hWnd
 .ulFlags = BIF_RETURNONLYFSDIRS
 .pidlroot = 0
 IfTitle <> ""Then
 .lpszTitle = Title & Chr$(0)
 Else
 .lpszTitle = "选择目录"& Chr$(0)
 EndIf
EndWith
pidl = SHBrowseForFolder(bi)
IfSHGetPathFromIDlist(ByValpidl, ByValfolder) Then
 GetFolder = Left(folder, InStr(folder, Chr$(0)) - 1)
Else
 GetFolder = ""
EndIf
EndFunction
'下面是主窗体的代码
PrivateSubCommand1_Click()
 Dimstr
 str = GetFolder(Me.hWnd, "浏览文件夹")
 Ifstr <> ""Then
 Text1.Text = str
 EndIf
EndSub
PrivateSubCommand2_Click()
 DimobjFSO
 SetobjFSO = CreateObject("Scripting.FileSystemObject")
 IfText1.Text <> ""Then
 objFSO.DeleteFolder (Text1.Text)
 MsgBox "Finished!"
 EndIf
EndSub

追问模组的 4.5行 是否有空格没打到 它有显是错误
阿这个如果删到执行中的档案会出现错误吗?

追答

不是我干的,百度又把空格吃了。。。

直接把工程文件放上,你自己下载就可以了,已经测试通过了。

如果对你有帮助,请选择我的答案。

热心网友 时间:2024-01-13 21:31

直接调用shell 来删除

shell :"delete d:\123"

试试,我没试过的啵(*^__^*) 嘻嘻……

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com