C# 将文件从源文件夹移动到与输入的ID不匹配的存档文件夹

C# 将文件从源文件夹移动到与输入的ID不匹配的存档文件夹,c#,C#,对于我的项目perpose, 我想将文件从文件夹结构移动到 基于文件的存档文件夹 其名称与表的“filename”列值不匹配 意味着我需要找到数据库中不存在的所有文件名,然后将这些文件移动到另一个文件夹中。您可以通过以下步骤完成此任务 以datatable格式或list格式从数据库中获取所有文件名 Get-FileInfo对象以从文件夹中获取所有文件 通过foreach循环将这两个对象作为datatable和FileInfo进行比较 从数据库中不存在的fileInfo对象获取文件名 将此文件移到

对于我的项目perpose, 我想将文件从文件夹结构移动到 基于文件的存档文件夹 其名称与表的“filename”列值不匹配


意味着我需要找到数据库中不存在的所有文件名,然后将这些文件移动到另一个文件夹中。

您可以通过以下步骤完成此任务

  • 以datatable格式或list格式从数据库中获取所有文件名

  • Get-FileInfo对象以从文件夹中获取所有文件

  • 通过foreach循环将这两个对象作为datatable和FileInfo进行比较

  • 从数据库中不存在的fileInfo对象获取文件名

  • 将此文件移到另一个文件夹中


  • 我希望您可以使用此步骤解决您的问题。

    您可以通过以下步骤完成此任务

    var files = Directory.GetFiles(path); // get all files
    foreach (var file in files.Where(f => !dbFiles.Contains(f)))
    {
        File.Move(file, Path.Combine(destPath, Path.GetFileName(file)));
    }
    
  • 以datatable格式或list格式从数据库中获取所有文件名

  • Get-FileInfo对象以从文件夹中获取所有文件

  • 通过foreach循环将这两个对象作为datatable和FileInfo进行比较

  • 从数据库中不存在的fileInfo对象获取文件名

  • 将此文件移到另一个文件夹中

  • 我希望你能用这一步解决你的问题

    var files = Directory.GetFiles(path); // get all files
    foreach (var file in files.Where(f => !dbFiles.Contains(f)))
    {
        File.Move(file, Path.Combine(destPath, Path.GetFileName(file)));
    }
    
    dbFiles
    是数据库中已存储的文件
    destPath
    是要将文件移动到的路径


    dbFiles
    是数据库中已存储的文件
    destPath
    是您要将文件移动到的路径。

    是否为此编写了一些代码?问题是什么?你试过什么?有没有为此编写的代码?问题是什么?您尝试过什么?每次检查数据库时都会发现没有数据库文件,因此性能非常高。只有一个表,其中包含带有ids@Vogel612否。如果
    dbFiles
    是来自LINQ感知ORM的LINQ查询的
    IEnumerable
    ,则为是。但是我假设它是一个简单的
    列表
    @user2013显然,您需要首先从数据库中读取文件名。如果你不知道怎么做,那就不同了!正如您所解释的,要将
    dbFiles
    存储在数据库中,并且不提取代码,我假设
    dbFiles
    是一个
    IEnumerable
    相当高的性能密集型数据库,因为每次都没有dbFiles。只有一个表,其中包含带有ids@Vogel612否。如果
    dbFiles
    是来自LINQ感知ORM的LINQ查询的
    IEnumerable
    ,则为是。但是我假设它是一个简单的
    列表
    @user2013显然,您需要首先从数据库中读取文件名。如果你不知道怎么做,那就不同了!正如您解释的那样,将
    dbFiles
    存储在数据库中,并且不提取代码,我假设
    dbFiles
    是一个
    IEnumerable