0

私のプロジェクトでは、名前がテーブルの「ファイル名」列の値と一致しないファイルに基づいて、フォルダー構造からアーカイブフォルダーにファイルを移動したいと考えています。

つまり、データベースに存在しないすべてのファイル名を見つけて、これらのファイルを別のフォルダーに移動する必要があります。

4

2 に答える 2

3
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ファイルの移動先のパスです。

于 2013-03-04T12:39:13.417 に答える
1

このタスクは、次の手順で実行できます。

  1. データベースからすべてのファイル名をデータテーブル形式またはリスト形式で取得します。

  2. フォルダーからすべてのファイルを取得するには、FileInfo オブジェクトを取得します。

  3. この 2 つのオブジェクトを datatable と FileInfo として foreach ループで比較します。

  4. データベースに存在しない fileInfo オブジェクトからファイル名を取得します。

  5. このファイルを別のフォルダーに移動します。

このステップを使用して問題を解決できることを願っています。

于 2013-03-04T12:35:39.017 に答える