求救遍历文件夹下的所有图片以及子文件夹里的图片,并且能实现删除图片,急!!!!!!!

zgz1989410 2009-04-24 09:30:10
求救遍历指定一个文件夹下的所有图片以及子文件夹里的图片,并且能实现删除图片.最好能有实际例子。
谢谢!!!!!
...全文
283 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rodyqian 2009-09-21
  • 打赏
  • 举报
回复
同求啊...终于找到了..看看
huwei001982 2009-04-24
  • 打赏
  • 举报
回复
一条语句就行了
Directory.GetFiles("c:\\", "*.jpg", SearchOption.AllDirectories);
brood108 2009-04-24
  • 打赏
  • 举报
回复
需求再描述详细一些,是要删除某个文件夹下包括子文件夹的所有图片文件吗? 还有图片后缀有没有要求呢?
zgz1989410 2009-04-24
  • 打赏
  • 举报
回复
感谢两位 弄出来了
谢谢
zgz1989410 2009-04-24
  • 打赏
  • 举报
回复
感谢两位 弄出来了!
谢谢
随风v5 2009-04-24
  • 打赏
  • 举报
回复
强大..看看
满衣兄 2009-04-24
  • 打赏
  • 举报
回复
C# 向下遍历删除子目录和子文件 及 向上遍历空的父目录
本示例效果如下:
根据指定的文件夹路径如E:\\a\\b\\d
向下遍历删除其下的子文件及子目录
删除其本身
向上遍历删除其空的父目录

using System.IO;

protected void Button1_Click(object sender, EventArgs e)
{
string dir = "E:\\a\\b\\d";
//string dir = "E:\\a";
string pdir = Directory.GetParent(dir).FullName;
DeleteFolder(dir);
DeletePEmptyFolder(pdir);
}

public void DeleteFolder(string dir)
{
if (Directory.Exists(dir))
{
foreach (string d in Directory.GetFileSystemEntries(dir))
{
if (File.Exists(d))
{
FileInfo fi = new FileInfo(d);
if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
fi.Attributes = FileAttributes.Normal;
File.Delete(d);//直接删除其中的文件
}
else
DeleteFolder(d);//递归删除子文件夹
}
Directory.Delete(dir);//删除已空文件夹
}
}

public void DeletePEmptyFolder(string dir)
{
if (Directory.GetDirectories(dir).Length == 0)
{
string pdir = Directory.GetParent(dir).FullName;
if (Directory.Exists(dir))
Directory.Delete(dir);
DeletePEmptyFolder(pdir);
}
}


先自己动手试一下,只能给你个思路,具体实现还是要靠自己。
要注意的是如果是目录删除,必须先删除其子目录中的所有文件,才可以删除自身。
如果不理解递归算法就趁这个机会学习一下,很重要的一个算法。如果理解了,这个小程序就很简单了。
bulong0721 2009-04-24
  • 打赏
  • 举报
回复

static void SearchDirectory(string directory, string filemask, List<string> collection, bool searchSubdirectories, bool ignoreHidden)
{
// If Directory.GetFiles() searches the 8.3 name as well as the full name so if the filemask is
// "*.xpt" it will return "Template.xpt~"
bool isExtMatch = Regex.IsMatch(filemask, @"^\*\..{3}$");
string ext = null;
string[] file = Directory.GetFiles(directory, filemask);
if (isExtMatch) ext = filemask.Remove(0,1);

foreach (string f in file) {
if (ignoreHidden && (File.GetAttributes(f) & FileAttributes.Hidden) == FileAttributes.Hidden) {
continue;
}
if (isExtMatch && Path.GetExtension(f) != ext) continue;

collection.Add(f);
}

if (searchSubdirectories) {
string[] dir = Directory.GetDirectories(directory);
foreach (string d in dir) {
if (ignoreHidden && (File.GetAttributes(d) & FileAttributes.Hidden) == FileAttributes.Hidden) {
continue;
}
SearchDirectory(d, filemask, collection, searchSubdirectories, ignoreHidden);
}
}
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧