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"
试试,我没试过的啵(*^__^*) 嘻嘻……