string[] strFiles = System.IO.Directory.GetFiles("c:");foreach(string strFilePath in strFiles)
{
//strFilePath写入文件
}

解决方案 »

  1.   

    using System; 
    using System.IO; class Traverse 

    static void TraverseFolder(DirectoryInfo dir) 

    FileInfo[] filesInDir = dir.GetFiles("*.exe"); 
    foreach(FileInfo file in filesInDir) 

    Console.WriteLine("{0}", file.FullName); 
    } DirectoryInfo[] directories = dir.GetDirectories(); 
    foreach(DirectoryInfo newDir in directories) 

    TraverseFolder(newDir); // 在这个地方递规调用.

    } public static void Main() 

    String path = @"c:\"; 
    DirectoryInfo dir = new DirectoryInfo(path); 
    TraverseFolder(dir); 

    }
      

  2.   

    private static void RecordFileInfo(string filePath)
    {
    System.IO.DirectoryInfo di= new System.IO.DirectoryInfo(filePath);

    foreach(System.IO.DirectoryInfo item in di.GetDirectories())
    RecordFileInfo(item.FullName);

    foreach(System.IO.FileInfo item in di.GetFiles())
    sw.Write(item.FullName);
    } string logFile = "fileinfo.txt";
    System.IO.StreamWriter sw = new System.IO.StreamWriter(logFile, true, System.Text.Encoding.GetEncoding("gb2312"));
                               RecordFileInfo("C:")
    sw.Close();
      

  3.   

    基本就是上面兄弟所说的,但是
    有几点还需注意:
    1、要判断fileinfo.txt是否存
       在,是否占用
    2、要判断系统文件是否可访问
       比如Microsoft UAM 卷
    3、要注意换行
    我把以上的放在了一起,如下:
    ----------------------------
    //1、定义一个类
    using System;
    using System.IO;namespace FileMonitor
    {

    public class Traverse
    {
    public Traverse()
    {

    }
    public void TraverseFolder(DirectoryInfo dir) 

    FileInfo[] filesInDir = dir.GetFiles("*.*"); 
    string logFile = "fileinfo.txt";
    DirectoryInfo[] direct= dir.GetDirectories();
                System.IO.StreamWriter sw = new System.IO.StreamWriter(logFile, true, System.Text.Encoding.GetEncoding("gb2312")); foreach(FileInfo file in filesInDir) 


    foreach(DirectoryInfo Dir in direct)
    {
        sw.Write(Dir.FullName);
    sw.Write(file);
    sw.Write('\n');
    } } 
    sw.Close(); DirectoryInfo[] directories = dir.GetDirectories(); 
    foreach(DirectoryInfo newDir in directories) 

    TraverseFolder(newDir); // 在这个地方递规调用.


    } }
    }
    //2、添加引用:
    using yournamespace;
    //3、添加其他代码:
    String path = @"c:\"; 
    DirectoryInfo dir = new DirectoryInfo(path); 
    Traverse tr=new Traverse();
    tr.TraverseFolder(dir);