-3

サンプルファイル名:S012311d130614t095121.14194092001

左から 9 番目の文字は日付 (130614) です。次に、このファイルを日付に基づいて次のディレクトリに保存します。

1306/         (year-month)
  130614/     (year-month-day)
    S012311d130614t095121.14194092001
4

3 に答える 3

4

私があなたを正しく理解していれば:

string input = Path.GetFileName(originalFile);
     //"S012311d130614t095121.14194092001";

string yearMonthDay = input.Substring(8, 6);

string yearMonth = yearMonthDay.Substring(0, 4);
Console.WriteLine(yearMonth);

string folder = Path.Combine(Path.Combine(rootFolder, yearMonth), yearMonthDay);
Directory.CreateDirectory(folder);

// Write to folder
File.Copy(originalFile, Path.Combine(folder, input);

rootFolderこれにより、フォルダが の下に存在することが保証され1306\130614、作成されたフォルダのフォルダ名が提供されます。

于 2013-08-15T19:56:52.400 に答える
0

次のコードを使用して、ディレクトリ内のすべてのファイル (ファイル名) を取得できます。

string[] filePaths = Directory.GetFiles(@"Directory");

次に、for-each を使用してすべての文字列とその文字列配列を取得し、各文字列の 9 番目の文字を確認します (そのためのコードは投稿しません。少し作業します)。

次のコードを使用してファイルをコピーします。

System.IO.File.Copy(originFile, destFile, true);

すべてを組み合わせて、目標を達成してください。

于 2013-08-15T19:55:16.120 に答える