サンプルファイル名:S012311d130614t095121.14194092001
左から 9 番目の文字は日付 (130614) です。次に、このファイルを日付に基づいて次のディレクトリに保存します。
1306/ (year-month)
130614/ (year-month-day)
S012311d130614t095121.14194092001
サンプルファイル名:S012311d130614t095121.14194092001
左から 9 番目の文字は日付 (130614) です。次に、このファイルを日付に基づいて次のディレクトリに保存します。
1306/ (year-month)
130614/ (year-month-day)
S012311d130614t095121.14194092001
私があなたを正しく理解していれば:
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
、作成されたフォルダのフォルダ名が提供されます。
次のコードを使用して、ディレクトリ内のすべてのファイル (ファイル名) を取得できます。
string[] filePaths = Directory.GetFiles(@"Directory");
次に、for-each を使用してすべての文字列とその文字列配列を取得し、各文字列の 9 番目の文字を確認します (そのためのコードは投稿しません。少し作業します)。
次のコードを使用してファイルをコピーします。
System.IO.File.Copy(originFile, destFile, true);
すべてを組み合わせて、目標を達成してください。