因为需要编个批量改文件名的东西出来,所以要扫文件文件存放在一个文件夹下面,下面还有多层文件夹,层次不定的,问下怎么把里面的文件都扫出来 呀.文件类型都是一样的

解决方案 »

  1.   

    递归
    System.IO 名字空间
    DirectoryInfo 
      GetDirectories  已重载。 返回当前目录的子目录。 
      GetFiles  已重载。 返回当前目录的文件列表。
      

  2.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Collections;
    namespace C_console
    {
        class Program
        {        static void func(string str)
            {
                DirectoryInfo info = new DirectoryInfo(str);
                foreach( DirectoryInfo x  in info.GetDirectories() )
                {
                    func( x.FullName );
                }
                foreach (FileInfo i in info.GetFiles())
                {
                    list.Add(i.ToString());
                }
            }
            static ArrayList list;
            static void Main(string[] args)
            {
                list = new ArrayList();
                func( @"E:\mid" );//这里输入目录就好
                foreach (string s in list)
                {
                    Console.WriteLine(s);
                }
            }
        }
    }
      

  3.   

    可以去下载我上传的资源,其中一个是对文件及文件夹进行操作的(C#图像处理),可以去试试看。
    http://download.csdn.net/user/hao1hao2hao3。
      

  4.   

    //<转,忘了作者是谁了>#region 递归搜索目录,历遍文件
            /// <summary>
            /// 递归搜索目录,历遍文件
            /// </summary>
            /// <param name="sDir">目录名</param>
            void DirSearch(string sDir)
            {
                try
                {
                    foreach (string d in Directory.GetDirectories(sDir))
                    {
                        foreach (string f in Directory.GetFiles(d))
                        {
                            FileInfo fi = new FileInfo(f);
                            FileCheck(fi); //如果是文件,执行FileCheck检查文件类型
                        }
                        DirSearch(d); //递归查询
                    }
                }
                catch (System.Exception excpt)
                {
                    MessageBox.Show(excpt.Message);
                }
            }
            void FileCheck(?)
                      {
                             ?
                      }    
      
            #endregion