首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何刪除目錄及子目錄下指定格式的文件
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:06:11 楼主
    如何刪除目錄及子目錄下指定格式的文件
    好像我要刪除*.txt檔案...
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:16:111楼 得分:0
    自己遍历删除吧
    没有现成的方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:39:192楼 得分:0
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:51:043楼 得分:0
    foreach (string MyFile in Directory.GetFiles("C:\\DiskOnChip\\temp\\", "*.txt"))
    {
        File.Delete(MyFile);
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:51:474楼 得分:0
    拿分来吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:58:205楼 得分:0
    遍历获得目录下文件名。然后获取lastindexof(".")后面的字符串,判断是否等于"txt",然后删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 09:58:506楼 得分:0
    用递归。
    /// <summary>
    /// 删除源代码管理文件
    /// </summary>
    /// <param name="fullPath"> </param>
    private void DeleteFile( string fullPath )
    {
    if ( !Directory.Exists(fullPath) )
    return;
    DirectoryInfo[] listDir = GetFolders( fullPath );
    FileInfo[] listFile = GetFiles( fullPath );

    foreach (FileInfo d in listFile)
    {

    if( d.Extension.ToLower() == ".txt")
    {
    fileNum ++;
    d.Delete();

    richTextBox1.AppendText(">  " + d.FullName +" 删除");
    richTextBox1.AppendText("\r\n");

    richTextBox1.SelectionStart = richTextBox1.TextLength;
    richTextBox1.Focus();
    }
    }

    foreach(DirectoryInfo d in listDir)
    {
    fullPath = d.FullName;
    DeleteFile( fullPath );
    }
    }

    方法使用:
    DeleteFile("c:\\a");
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 11:57:427楼 得分:0
    System.IO.DirectoryInfo _DI = new DirectoryInfo(@"d:\1");
    FileInfo[] _files = _DI.GetFiles();

    foreach (FileInfo d in _files)
    {

    if( d.Extension.ToLower() == ".txt")
    {
    d.Delete();

    this.listBox1.Items.Add("del>:" + d.FullName + " 刪除");


    }
    }

    這樣就可以刪除D:\1目錄下的txt檔案,但是子目錄的txt文件呢?要怎麼刪除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mohugomohu
    • 等级:
    发表于:2008-07-24 12:02:278楼 得分:0
    递归
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovefootball
    • 等级:
    发表于:2008-07-24 12:02:279楼 得分:0
    GetFiles方法有个重载
    FileInfo[] _files = _DI.GetFiles(".txt", SearchOption.AllDirectories);
    这样就会获得子目录下的所有文件
    或者像上面有人说的用递归
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 13:55:3910楼 得分:0
    引用 9 楼 lovefootball 的回复:
    GetFiles方法有个重载
    FileInfo[] _files = _DI.GetFiles(".txt", SearchOption.AllDirectories);
    这样就会获得子目录下的所有文件
    或者像上面有人说的用递归


    可不可以用递归寫一下代碼?不太懂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 14:04:5211楼 得分:0
    递归,6楼正解
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovefootball
    • 等级:
    发表于:2008-07-24 14:14:3112楼 得分:0
    六楼的代码就是递归
    但是.net已经提供了SearchOption选项
    为什么非得写递归呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-24 14:29:2713楼 得分:0
    //先添加索引Microsoft.VisualBasic.dll
    using MVF=Microsoft.VisualBasic.IO;
    MVF.FileSystem.DeleteFile(Path,...,SearchAllSubDirectories,"*.txt")

    在公司待着了,没有MSDN,勉强记得是上面那样的。请自己在查一下。呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-25 08:12:2914楼 得分:0
    要想删除得快,就象windows删除文件那样,建议还是去用P/Invoke吧,SHFileOperation能够实现这个东西,网上一大堆示例

    .net自己的那个GetFiles速度真是不怎么的,唯一有好处的就是可以深入对每一个文件的状态有所判断,加个进度条而已。
    我一般都用SHFileOperation,或者上楼的那个函数
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-25 11:20:4915楼 得分:0
    引用 14 楼 yulinlover 的回复:
    要想删除得快,就象windows删除文件那样,建议还是去用P/Invoke吧,SHFileOperation能够实现这个东西,网上一大堆示例

    .net自己的那个GetFiles速度真是不怎么的,唯一有好处的就是可以深入对每一个文件的状态有所判断,加个进度条而已。
    我一般都用SHFileOperation,或者上楼的那个函数


    vs2003有這個嗎?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-26 20:07:5216楼 得分:0
    我这里写了一个完整的类实现楼主所要的相关功能,请参考。
    http://blog.csdn.net/zhzuo/archive/2005/03/08/315125.aspx
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved