0

C# で、ある種のバッチを使用して高度な検索を行った後、特定のファイルを削除できるかどうかを尋ねたかったのです。私は次のようなことができると信じています:

  1. ファイルを検索する
  2. listboxファイルを、dataGridViewまたはに保存しますcheckedlistbox(特定の削除またはすべての場合) 。
  3. 後でそれらを List<> またはファイル *.txt に保存します
  4. スクリプトを使用して削除するか、C# を使用します (プログラムで削除します)。

私の質問/関心のある点は次のとおりです。

a)DBフィールドを検索するとき(ディレクトリ内のファイルを検索してからDBに保存した後)、またはディレクトリを再度反復/ループすることにより、ファイルの検索がより最適化されていますか?(最初のものを考えてください)DBテーブルにパスを保存する際に問題はありますか?

b) 3. 長いパスを保存する方法がわかりません..しかし、私はそれを理解します...長いパスの保存に問題があるかどうか誰か教えてもらえますか?

c) 削除プロセスをどのように想像できますか?

d) 誰かがスクリプトを知っているので、*.txt ファイルからそれらを削除できますか?

e) at 4. プログラムでそれらを削除するには、次のコードで十分でしょうか":

string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
foreach (string filePath in filePaths)
  File.Delete(filePath);

パスはDBから取得されます..

4

1 に答える 1

1

データベースが必要なようには見えません。検索を実行すると、削除するファイル名がすでにわかっているので、必要なのはこれだけです。

List<> またはテキスト ファイルを使用して長いパスを保存することについて心配する必要はありません。は、ショート パスとまったく同じように格納されます。

削除プロセスをイメージする必要があるのはなぜですか? その中で特にわからないことはありますか?削除プロセスは、基本的に、保存されているファイルが存在しなくなったことをファイル システムに通知する API 呼び出しです。ファイルシステムはこれを記録し、スペースを解放します / 後続のリクエストでこのファイルを表示しません。――こんなイメージです。

はい、List<> またはテキスト ファイルに基づいて削除できます。

指定したコードは、c:\MyDir\ からすべてのファイルを削除します。これで十分な場合は、これで十分です (アプリケーションに適切なアクセス許可があり、ファイルが別のプロセスによってロックされていない場合)。

さらに質問に答えるのに役立つ参考資料を次に示します。

ファイルを削除する方法: http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx

テキスト ファイルへの書き込み方法 http://msdn.microsoft.com/en-us/library/vstudio/8bh11f1k.aspx

配列を反復処理する方法 http://msdn.microsoft.com/en-us/library/5ts69ce3%28v=vs.90%29.aspx

コレクションを反復処理する方法 http://msdn.microsoft.com/en-us/library/wzc4yayd%28v=vs.90%29.aspx

C# コードからファイルを削除できます。これには cmd.exe は必要ありません。

于 2013-06-04T20:48:39.033 に答える