【问题标题】:How to GetFiles from multiple different paths如何从多个不同路径获取文件
【发布时间】:2014-05-26 10:03:09
【问题描述】:

我们可以在没有任何循环的情况下使用 C# 中的一些内置函数从不同位置获取文件吗?就像我有以下路径

C:\Folder1
C:\abc\Folder2
D:\Folder3

我想在不使用任何循环的情况下同时从Folder1Folder2Folder3 获取所有文件。

【问题讨论】:

  • 没有可用的 API。您需要使用 LINQ、循环或其他方式聚合来自不同文件夹的文件。
  • 您真正想要完成什么?即使您获得了所有文件,您也可能需要使用循环来实际使用文件路径。
  • 你为什么不想使用任何循环?
  • 我想使用 BULK INSERT 将这些文件位置保存在 Microsoft SQL 数据库中。

标签: c# file directory directoryinfo getfiles


【解决方案1】:

根据 MSDN,可以在单个目录中搜索文件。

例如:

Directory.GetFiles("C:\Folder1")

你只需要适应,但是扩展方法是不可能的,因为它是一个静态类。

更多信息在这里:http://msdn.microsoft.com/en-us/library/07wt70x2(v=vs.110).aspx

基本上,这意味着需要一个循环来搜索所有路径。否则是不可能的。

【讨论】:

    【解决方案2】:

    需要一个循环,没有内置函数。

    您可以为此目的维护List<string>

    例子:

    List<string> lstPaths = new List<string>();
    lstPaths.Add(@"C:\Folder1");
    lstPaths.Add(@"C:\abc\Folder2");
    lstPaths.Add(@"D:\Folder3");
    
    foreach(string sPath in lstPaths)
    {
        string[] arrFiles = Directory.GetFiles(sPath);
    
        //you can loop through arrFiles here
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-08
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      相关资源
      最近更新 更多