Ich habe eine C# -Konsolen-App, die alle Dateien in einem Verzeichnis abruft. Unter den Dateinamen unten als Beispiel, und da ich 3 Saiten haben, ref, year1, year2, wie könnte ich sagen:Dateien aus dem Verzeichnis basierend auf Teilzeichenfolge des Dateinamens abrufen - C#
Dateiname: 31596_2015-06-30.pdf
alle Dateien Geben Sie mir, wo die Dateinamen enthalten ref UND Dateiname enthält ein Jahr zwischen Jahr1 und Jahr 2? -Code so weit:
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));
}
}
reserviert Siehe bearbeiten, dr ist ein Datenreader – DarkW1nter
ref ist ein Schlüsselwort, so würde ich sehr empfehlen, einen besseren Namen für diese Variable zu finden – Sorceri