vb怎么删除文件夹里面的所有文件

已知C:\文件\abc有些文件和文件夹,想用VB删除我应该要怎么写删除后我想用c:\abc复制到C:\文件里面应该怎么写... 已知 C:\文件\abc 有些文件和文件夹,想用VB删除 我应该要怎么写
删除后我想用c:\abc 复制到C:\文件里面 应该怎么写
展开
 我来答
木玄林
2011-08-17 · 周易,风水,一切玄空之探索者
木玄林
采纳数:48 获赞数:519

向TA提问 私信TA
展开全部
复制进去就可以用,自己建个按钮控件
Option Explicit

Sub KillFile(FilePath)

'无效
'--------------------------
'对目录下的所有文件进行处理
'--------------------------
Dim FileName
'FilePath & "*.txt "
'取得FilePath目录下的第一个文件名 改变FilePath参数可以指定取得文件类型
FileName = Dir(FilePath, vbNormal + vbReadOnly + vbHidden + vbSystem + vbVolume + vbArchive)

Do While FileName <> " "
SetAttr FilePath & FileName, vbNormal '设置文件属性为全开
Print FileName
'Kill FilePath & FileName
FileName = Dir() '下一个文件
Loop

End Sub

Private Sub Command1_Click()

Dim FilePath As String '初始目录
Dim FileName As String '文件名
Dim DirName As String '子目录名

Dim DirPath() As String '保存子目录名
Dim DirSum As Integer '子目录总数

Dim i As Integer

FilePath = "A:\ " '初始目录为A盘

'----------------------------
'对目录下的所有子目录进行处理
'----------------------------
ret:
DirName = Dir(FilePath, vbDirectory) '取得FilePath目录下的第一个子目录

'如果是根目录或是子目录名 则循环至有第一个目录
Do While DirName = ". " Or DirName = ".. "
DirName = Dir()
Loop

'如果没有子目录就不运行
Do While DirName <> " "
If (GetAttr(FilePath & DirName) And vbDirectory) = vbDirectory Then '判断是否是一个文件夹或目录

DirSum = DirSum + 1
'Preserve是不改变数组以前原有的数据来重新定义数组大小
ReDim Preserve DirPath(DirSum) '重新给数组定义大小
DirPath(DirSum) = FilePath & DirName & "\ "
'Call KillFile(FilePath & DirName & "\ ") '调用删除目录下所有文件子程序
'RmDir FilePath & DirName
Else '若不是目录或文件夹则对文件进行处理

'删除本目录所有文件
'Print DirName
Kill FilePath & DirName
End If
DirName = Dir() '下一个目录或文件
Loop

'------------------------
'循环得到所有子目录
For i = i + 1 To DirSum
FilePath = DirPath(i) '改变当前路径
GoTo ret '跳回仿递归处理
Next
'------------------------------------------------------
'------------------------------------------------------
'------------------------------------------------------
'对所取得的子目录进行处理
'For i = 1 To DirSum
'Call KillFile(DirPath(i)) '调用删除目录下所有文件子程序
'Next
'删除所有剩余的空目录
For i = 0 To DirSum - 1
RmDir DirPath(DirSum - i) '删除剩下的空目录
Next
'-----------------------------------

'END

End Sub
百度网友ba88284
2011-08-17 · TA获得超过1521个赞
知道大有可为答主
回答量:1822
采纳率:73%
帮助的人:576万
展开全部
先用VB的Kill命令加*.*的通配符进行文件删除,同时在过程头部,加入错误捕获
然后,删除文件夹
一下是函数功能实现
Function DeleteDir(ByVal StrDir As String)
on error goto err:
Kill StrDir & "\*.*" '此处的文件目录路径在最后一个位置不能为“\”
RmDir StrDir
exit function
err:
msgbox "文件无法删除!可能有文件正被占用",,"系统提示"
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
2011-08-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
最简单的办法:
Private Sub Command2_Click()
Dim r As Long
r = Shell("cmd /c rd /s /q c:\文件")
For r = 1 To 1000000
DoEvents
Next r
MkDir "c:\文件"
r = Shell("cmd /c copy c:\abc\*.* c:\文件")
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-17
展开全部
我不会vb 我只会C····
更多追问追答
追问
........
追答
感觉这个程序用C写比VB写好吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式