0

私はsystem.ioを使用しており、ファイルの移動、グループ化、名前の変更が必要なことをしなければなりません。。

これまでc#を使用してコマンドラインアプリケーションで作業していたので、いくつかのファイルをあるディレクトリから別のディレクトリに移動しました。次に、次のようにいくつかのpdfファイルをグループ化する必要があります-B-12345 1.pdf、B-12345 2.pdf、B-123453。 pdf、B-12345 4.pdf。プロジェクト参照ごとに1つのジョブのみを作成するためだけに、物理的にグループ化する必要はないと言われています(b-1234)。

これらのファイルがグループ化された後に何をしているのかについて少し背景情報を提供するために、ジョブテーブルのSQLデータベースにレコードを作成する必要があります。

主に、ファイルディレクトリにあるファイルの読み取り方法とファイルのグループ化方法に関する情報が必要です。これは私にとって非常に有益です。

質問をもう少し明確にするために、これはタスクの順序をコマンドラインアプリで実行する必要があるということです。

  1. ディレクトリ内のファイルを読み取ります(私はそれらを移動したので、これについてはよくわかりませんか?)
  2. プロジェクトごとのグループ化番号(不明)
  3. SQLデータベースにジョブレコードを作成します
  4. ファイルを移動して名前を変更し、正しい場所に移動します

前もって感謝します

私のコードは以下の通りです

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

public class MoveForProcessing
{
    static void Main()
    {
        // move cad jobs to processing directory and delete former folder, use the System.IO.Path class.
        System.IO.Directory.Move(@"C:\Users\Ben\My Documents\Temp\", @"C:\Users\Ben\My Documents\Processing\");
    }
}
4

1 に答える 1

2

最初に、問題のディレクトリのDirectoryInfoクラスを宣言できます。

private System.IO.DirectoryInfo dir = System.IO.DirectoryInfo.Open(@"path");

次に、ディレクトリ内の各ファイルのFileInfoオブジェクトの配列を取得します

private FileInfo[] files = dir.GetFiles();

特定のファイルタイプのみが必要な場合は、ワイルドカード文字列をGetFiles()に挿入することもできます。

private FileInfo[] files = dir.GetFiles("*.pdf");

次に、各FileInfoオブジェクトで必要なことを実行して配列をインクリメントできます

foreach(FileInfo f in files)
{
   f.Move(); // or whatever you need to do
}
于 2012-10-21T18:03:45.783 に答える