24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1180  |  回复: 2
本帖产生 1 个 程序强帖 ,点击这里进行查看

zzahkj

木虫 (著名写手)


[交流] VB.net实现删除文件的问题

用VB.net实现删除同一文件夹下相同名称的所有文件,表达不好,还是举个例子吧,比如说删除某一文件夹下有zz.txt,zz.doc,zz.shp 。。。。就是名为zz的全删除,用VB.net编程该如何实现?
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+5, 程序强帖+1): 谢谢参与应助! 2011-05-14 19:50:35
http://webservices.ctocio.com.cn/net/182/9255182.shtml
VB.NET版     
Imports System.IO   
Imports System.IO.Directory   
' ======================================================   
' 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面   
' 如果目标文件夹为只读属性就会报错。   
' ======================================================   
Public Shared Sub CopyDir(ByVal srcPath As String, ByVal aimPath As String)   
Try   
' 检查目标目录是否以目录分割字符\结束,如果不是则添加之   
If aimPath(aimPath.Length - 1) <> Path.DirectorySeparatorChar Then   
aimPath += Path.DirectorySeparatorChar   
End If   
'判断源目录是否存在,不存在则退出.   
If (Not Directory.Exists(srcPath)) Then Exit Sub   
' 判断目标目录是否存在如果不存在则新建之   
If (Not Directory.Exists(aimPath)) Then Directory.CreateDirectory(aimPath)   
' 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组   
' 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法   
' string[] fileList = Directory.GetFiles(srcPath);   
Dim fileList() As String = Directory.GetFileSystemEntries(srcPath)   
' 遍历所有的文件和目录   
For Each FileName As String In fileList   
' 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件   
If Directory.Exists(FileName) Then   
CopyDir(FileName, aimPath + Path.GetFileName(FileName))   
' 否则直接Copy文件   
Else   
File.Copy(FileName, aimPath + Path.GetFileName(FileName), True)   
End If   
Next   
Catch ex As Exception   
MessageBox.Show(ex.ToString())   
End Try   
End Sub   
' ======================================================   
' 实现一个静态方法将指定文件夹下面的所有内容Detele   
' 测试的时候要小心*作,删除之后无法恢复。   
' ======================================================   
Public Shared Sub DeleteDir(ByVal aimPath As String)   
Try   
' 检查目标目录是否以目录分割字符结束如果不是则添加之   
If (aimPath(aimPath.Length - 1) <> Path.DirectorySeparatorChar) Then   
aimPath += Path.DirectorySeparatorChar   
End If   
'判断待删除的目录是否存在,不存在则退出.   
If (Not Directory.Exists(aimPath)) Then Exit Sub   
' 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组   
' 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法   
' string[] fileList = Directory.GetFiles(aimPath);   
Dim fileList() As String = Directory.GetFileSystemEntries(aimPath)   
' 遍历所有的文件和目录   
For Each FileName As String In fileList   
If (Directory.Exists(FileName)) Then   
' 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件   
DeleteDir(aimPath + Path.GetFileName(FileName))   
Else   
' 否则直接Delete文件   
File.Delete(aimPath + Path.GetFileName(FileName))   
End If   
Next   
'删除文件夹   
System.IO.Directory.Delete(aimPath, True)   
Catch ex As Exception   
MessageBox.Show(ex.ToString())   
End Try   
End Sub
2楼2011-05-14 16:41:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★ ★
微尘、梦想(金币+3): 谢谢! 2011-05-14 19:50:52
zzahkj(金币+10): 2011-05-15 23:18:29
用kill方法
Option Explicit   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

[ Last edited by jjdg on 2011-5-14 at 16:42 ]
3楼2011-05-14 16:41:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zzahkj 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856,材料与化工321分求调剂 +12 大馋小子 2026-03-27 13/650 2026-03-28 10:56 by self2008
[考研] 339求调剂 +6 烤麦芽 2026-03-27 8/400 2026-03-28 10:40 by 烤麦芽
[考研] 压国家一区线,求导师收留,有恩必谢! +4 迷人的哈哈 2026-03-28 4/200 2026-03-28 09:48 by zhshch
[考研] 083000学硕274求调剂 +7 Li李鱼 2026-03-26 7/350 2026-03-28 08:01 by baoball
[考研] 一志愿 西北大学 总分282 英语一62 求调剂 +7 18419759900 2026-03-25 8/400 2026-03-27 16:38 by 18419759900
[考研] 322求调剂 +4 我真的很想学习 2026-03-23 4/200 2026-03-27 13:51 by 杨杨杨紫
[考研] 324求调剂 +5 hanamiko 2026-03-26 5/250 2026-03-27 10:33 by wangjy2002
[考研] 一志愿武汉理工,总分321,英一数二,求老师收留。 +5 nnnnnnn5 2026-03-25 5/250 2026-03-27 04:42 by wxiongid
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
[考研] 一志愿北化求调剂 +3 Jsman 2026-03-22 3/150 2026-03-26 21:06 by ajpv风雷
[考研] 化学工程085602 305分求调剂 +17 RichLi_ 2026-03-25 17/850 2026-03-26 19:44 by plmuchong
[考研] 生物学学硕,一志愿湖南大学,初试成绩338 +4 YYYYYNNNNN 2026-03-26 4/200 2026-03-26 19:00 by macy2011
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[考研] 寻找调剂 +5 倔强芒? 2026-03-21 8/400 2026-03-26 13:25 by 0906ljy
[考研] 309求调剂 +4 gajsj 2026-03-25 5/250 2026-03-26 00:27 by Dyhoer
[考研] 299求调剂 +4 15188958825 2026-03-25 4/200 2026-03-25 22:56 by 418490947
[考研] 生物技术与工程 +3 1294608413 2026-03-25 4/200 2026-03-25 18:02 by 1294608413
[考研] 340求调剂 +5 话梅糖111 2026-03-24 5/250 2026-03-25 06:53 by ilovexiaobin
[考研] 材料/农业专业,07/08开头均可,过线就行 +3 呵唔哦豁 2026-03-23 4/200 2026-03-23 22:30 by 汪!?!
[考研] 070300,一志愿北航320求调剂 +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by 。。堂堂
信息提示
请填处理意见