linq的写法。 string path = @"d:\t"; var q = from p in Directory.GetDirectories(path) where p != (path+"\\"+"t1")//过滤 select p; foreach (var p in q) { Response.Write(p + "<br>"); //Directory.Delete(p); }
谢谢各位, 要删除文件夹换得吧文件夹下的文件先删除,否则报错“目录不为空”。下面代码是参考网上例子写的,可以完成要求。这样做法在web应用中应该没有问题吧? Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each dir As String In Directory.GetDirectories(XXX上级目录路径) If dir <> Server.MapPath(XXX上级目录路径)+"XXX" Then DeleteDir(dirChild(dir)) Directory.Delete(dir) End If Next End Sub Private Sub DeleteDir(ByVal strDir() As String) Dim i, j As Int16 For i = 0 To UBound(strDir) File.Delete(strDir(i)) Next End Sub Private ReadOnly Property dirChild(ByVal str_path As String) As Array Get Return Directory.GetFiles(str_path) End Get End Property
foreach (string dir in Directory.GetDirectories(path))
{
if (dir != "XXX")
Directory.Delete(dir);
}
.NET 2.0
││博客空间:http://blog.csdn.net/lovingkiss
││资源下载:http://download.csdn.net/user/lovingkiss
││Email:loving-kiss@163.com [MSN也是这个]
││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......
╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤
foreach (string dir in Directory.GetDirectories(path))
{
if (dir != "XXX")
Directory.Delete(dir);
}
目前.NET提供的方法还不支持过滤性删除,只好用遍历的方法
My.Computer.FileSystem.DeleteDirectory("目录", FileIO.DeleteDirectoryOption.DeleteAllContents) 2.0里面有没有
My.Computer.FileSystem.DeleteDirectory
我还真的不记得了,呵呵~~
My.Computer.FileSystem.DeleteDirectory("目录", FileIO.DeleteDirectoryOption.DeleteAllContents)
并没有能除了"XXX"外删除其他的参数
string path = @"d:\t";
var q = from p in Directory.GetDirectories(path)
where p != (path+"\\"+"t1")//过滤
select p;
foreach (var p in q)
{
Response.Write(p + "<br>");
//Directory.Delete(p);
}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each dir As String In Directory.GetDirectories(XXX上级目录路径)
If dir <> Server.MapPath(XXX上级目录路径)+"XXX" Then
DeleteDir(dirChild(dir))
Directory.Delete(dir)
End If
Next
End Sub
Private Sub DeleteDir(ByVal strDir() As String)
Dim i, j As Int16
For i = 0 To UBound(strDir)
File.Delete(strDir(i))
Next
End Sub
Private ReadOnly Property dirChild(ByVal str_path As String) As Array
Get
Return Directory.GetFiles(str_path)
End Get
End Property