我想删除某路径下的除了名字为XXX的其他所有文件夹该怎么写啊? 只知道Directory.Delete(path)这样只能删除一个文件夹。
------解决方案--------------------------------------------------------
- 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的功能还未用到
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
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); }
------解决方案--------------------------------------------------------