在多级目录中列出大量文件

时间:2014-07-24 08:56:46

标签: c# sql

我有一个很大的问题。我有一个驱动器,在不同级别的文件夹中有近600,000个文件,我需要创建一个带有文件路径列表的SQL表,但不是所有文件。

结构是:

J:/
J:/test
J:/XCR
J:/554
J:/B1

我需要将所有文件保存在文件夹test& XCR但只包含其他文件夹中某些目录中的文件。我有一个上传到SQL表的文件夹列表。

我编写了一个使用Directory.GetFiles()和Directory.GetDirectories的递归函数,但是当目录级别增加且文件名变长时我遇到问题。我也有以下错误,我不确定...

System.IO.IOException: Element not found. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath

我想我会以错误的方式解决这个问题。有人能指出我正确的方向吗?

非常感谢任何帮助!

编辑:

 public void copyFiles(string dirName, int level)
{
    try
    {


    if (level == 1)
    {
        foreach (string f in Directory.GetFiles(dirName))
        {
            Response.Write(f + "<br />");
         //   insTbl.Rows.Add(f);
        }
    }

    foreach (string d in Directory.GetDirectories(dirName))
    {

        foreach (string f in Directory.GetFiles(d))
        {
            Response.Write(f + "<br />");
         //   insTbl.Rows.Add(f);
        }

        level++;

        copyFiles(d,level);
    }

    }
    catch (Exception ex)
    {
        Response.Write(ex);

    }
}

0 个答案:

没有答案