C# 将文件从源文件夹移动到与输入的ID不匹配的存档文件夹
对于我的项目perpose, 我想将文件从文件夹结构移动到 基于文件的存档文件夹 其名称与表的“filename”列值不匹配C# 将文件从源文件夹移动到与输入的ID不匹配的存档文件夹,c#,C#,对于我的项目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)));
}
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