Directory.Delete 问题 帮忙看下~
我想删除某路径下的除了名字为XXX的其他所有文件夹该怎么写啊? 只知道Directory.Delete(path)这样只能删除一个文件夹。
------解决方案--------------------
C# code
foreach (string dir in Directory.GetDirectories(path))
{
if (dir != "XXX")
Directory.Delete(dir);
}
------解决方案-------------------- 探讨 C# code foreach (string dir in Directory.GetDirectories(path)) { if (dir != "XXX") Directory.Delete(dir); }
------解决方案-------------------- Directory.Delete(dir,true); .NET 2.0
------解决方案-------------------- 顶
------解决方案-------------------- Net2.0 3.5已经可以使用 My.Computer.FileSystem.DeleteDirectory("目录", FileIO.DeleteDirectoryOption.DeleteAllContents) 效率更高一些 ││博客空间:http://blog.csdn.net/lovingkiss ││资源下载:http://download.csdn.net/user/lovingkiss ││Email:loving-kiss@163.com [MSN也是这个] ││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵...... ╚---------------------------------------------------------------------ō*︻$▅▆▇◤
------解决方案-------------------- C# code
foreach (string dir in Directory.GetDirectories(path))
{
if (dir != "XXX")
Directory.Delete(dir);
}
------解决方案-------------------- 通常是遍历判断删除,.NET 3.5的功能还未用到
------解决方案-------------------- 探讨 Directory.Delete(dir,true);
------解决方案-------------------- 2.0以前使用Directory确实是必须要循环遍历,参照: http://www.dlog.cn/windhome/diary/28416685 3.5已经有了成型的操作模式 My.Computer.FileSystem.DeleteDirectory("目录", FileIO.DeleteDirectoryOption.DeleteAllContents) 2.0里面有没有 My.Computer.FileSystem.DeleteDirectory 我还真的不记得了,呵呵~~
------解决方案-------------------- 探讨 2.0以前使用Directory确实是必须要循环遍历,参照: http://www.dlog.cn/windhome/diary/28416685 3.5已经有了成型的操作模式 My.Computer.FileSystem.DeleteDirectory("目录", FileIO.DeleteDirectoryOption.DeleteAllContents) 2.0里面有没有 My.Computer.FileSystem.DeleteDirectory 我还真的不记得了,呵呵~~
------解决方案-------------------- My对象中的很多类和方法在C#都没有,不过通过添加Microsoft.VisualBasic引用也能使用My对象了~~
------解决方案-------------------- 哦,没注意,如果是这样,怎么都需要遍历一下了;
------解决方案-------------------- linq的写法。C# code
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应用中应该没有问题吧? VB.NET codePrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadForEachdirAsStringInDirectory.GetDirectories(XXX上级目录路径)Ifdir<>Server.MapPath(XXX上级目录路径)+"XXX"ThenDeleteDir(dirChild(dir)) …