ディレクトリ内のすべてのファイルを取得するC#コンソールアプリケーションがあります。一例として、以下のファイル名を取って、私は私が言うことができるか、3列、REF、YEAR1、YEAR2を持っているだろうことを考える:ファイル名の部分文字列に基づいてディレクトリからファイルを取得する - C#
ファイル名:31596_2015-06-30.pdf
を私にファイル名が含まれているすべてのファイルを与えますref ANDファイル名には年1と年2の間の年が含まれていますか?これまで コード:
var files = Directory.EnumerateFiles(sourceDir, "*", SearchOption.TopDirectoryOnly)
.Select(Path.GetFileName);
string start_year = null;
string end_year = null;
string ref = null;
// dr is a sql data reader
if (dr.HasRows == true)
{
while (dr.Read())
{
start_year = dr.GetString(1).Substring(7, 4);
end_year = dr.GetString(2).Substring(7, 4);
ref = dr.GetString(3);
foreach(string filename in files)
{
if (filename.Contains(ref))
{
File.Copy(sourceDir + filename, targetDir + filename);
}
}
File.Copy(sourceDir + dr.GetString(0), targetDir + dr.GetString(0));
}
}
編集を参照してくださいdrはデータレッサーです – DarkW1nter
refはキーワードですので、その変数のより良い名前を見つけることを強くお勧めします – Sorceri