Problemstellung
Es gibt da noch Altbestände diverser Projekte, oder es soll einfach der aktuelle Stand jedes Projektes als PDF ausgeschrieben werden. Manuell geht das bei wenigen Projekten, bei einigen hundert Projekten aber nicht mehr.
Problemlösung
Das lässt sich zum einen über das Projektmanagement lösen, aus meiner geht das allerdings etwas schöner und unabhängiger direkt über ein Script. Für den Einstieg lässt sich gut der FolderBrowserDialog nutzen, über den der Stammordner ausgewählt wird. Danach geht’s weiter mit GetFiles und ein Loop über alle Funde (ggf. auch Rekursiv über alle Unterverzeichnisse).
public void doOverProjectFolder() {
FolderBrowsingDialog srcFolder = new FolderBrowsingDialog();
srcFolder.Description = "Projektordner der bearbeitet werden soll"; // Beschreibung
srcFolder.SelectedPath = PathMap.SubstitutePath("$(MD_PROJECTS)"); // Default path
DialogResult srcFolderRes = srcFolder.ShowDialog();
if (srcFolderRes == DialogResult.Cancel) {
// Meldung beim Abbruch für den Nutzer
return;
}
string[] files = Directory.GetFiles(srcFolder.SelectedPath, "*.el*", SearchOption.AllDirectories);
foreach(string file in files) {
// do something
}
}