WPF: SubDirectories
Aufgabe:
Prüfen ob es in einem Ordner eines oder mehrere Unterverzeichnisse nach einem bestimmten Muster gibt
Lösung:
Mit DirectoryInfo.GetDirectories(..) kann man Elemente unterhalb eines Verzeichnisses ermitteln.
C#, WPF: Ermittle Unterverzeichnisse eines Ordners
DirectoryInfo[] subFolders = folder.GetDirectories( "Muster*", SearchOption.TopDirectoryOnly);
|
Für DirectoryInfo benötigt man den Namespace System.IO
Durch die Methode GetDirectories erhält man ein Array aus mehrern einzelnen Elementen vom Typ DirectoryInfo.
Wichtig ist dabei auch, dass man Wildcards wie * setzen kann und der Pfad relativ zu einem existierenden Verzeichnis geprüft wird.
In diesem Beispiel befinden sich 4 Ordner mit ähnlichem Namen innerhalb eines Verzeichnisses
C#, WPF: Code Sample zum ermitteln der Unterverzeichnisse
//--------< Folder >--------
DirectoryInfo folder = new DirectoryInfo(sPath);
if (folder.Exists)
{
//------< @Loop: Files >------
foreach (FileInfo fileInfo in folder.GetFiles())
{
//----< File >----
String sDate = fileInfo.LastWriteTime.ToString("yyyy-MM-dd");
Debug.WriteLine("#Debug: File: " + fileInfo.Name + " Date:" + sDate);
//--< check and create Directory >--
//*if subfolder does not exist then create one
String sPath_SubDirectory = folder.FullName + "\\" + sDate;
//Directory.Exists(sPath_SubDirectory)
DirectoryInfo[] subFolders = folder.GetDirectories(sDate + "*", SearchOption.TopDirectoryOnly);
if (subFolders.Count()<=0)
{ Directory.CreateDirectory(sPath_SubDirectory); }
//--</ check and create Directory >--
//----</ File >----
}
//------</ @Loop: Files >------
}
//--------</ Folder >--------
|