私のプロジェクトでは、名前がテーブルの「ファイル名」列の値と一致しないファイルに基づいて、フォルダー構造からアーカイブフォルダーにファイルを移動したいと考えています。
つまり、データベースに存在しないすべてのファイル名を見つけて、これらのファイルを別のフォルダーに移動する必要があります。
私のプロジェクトでは、名前がテーブルの「ファイル名」列の値と一致しないファイルに基づいて、フォルダー構造からアーカイブフォルダーにファイルを移動したいと考えています。
つまり、データベースに存在しないすべてのファイル名を見つけて、これらのファイルを別のフォルダーに移動する必要があります。
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
ファイルの移動先のパスです。
このタスクは、次の手順で実行できます。
データベースからすべてのファイル名をデータテーブル形式またはリスト形式で取得します。
フォルダーからすべてのファイルを取得するには、FileInfo オブジェクトを取得します。
この 2 つのオブジェクトを datatable と FileInfo として foreach ループで比較します。
データベースに存在しない fileInfo オブジェクトからファイル名を取得します。
このファイルを別のフォルダーに移動します。
このステップを使用して問題を解決できることを願っています。