Wie kann man C#-Code schreiben, um alle Dateien eines Ordners zu kopieren und umzubenennen, wobei die neuen Namen aus einer CSV-Datei abgeglichen werden?

Antwort

Um alle Dateien eines Ordners zu kopieren und umzubenennen, wobei die neuen Namen aus einer CSV-Datei stammen, kann folgender C#-Code verwendet werden: ```csharp using System; using System.IO; using System.Collections.Generic; using System.Linq; class Program { static void Main() { string sourceDirectory = @"C:\Pfad\Zum\Quellordner"; string destinationDirectory = @"C:\Pfad\Zum\Zielordner"; string csvFilePath = @"C:\Pfad\Zur\Datei.csv"; // CSV-Datei einlesen und in ein Dictionary laden var nameMappings = File.ReadAllLines(csvFilePath) .Select(line => line.Split(',')) .ToDictionary(parts => parts[0], parts => parts[1]); // Alle Dateien im Quellordner durchlaufen foreach (var filePath in Directory.GetFiles(sourceDirectory)) { string fileName = Path.GetFileName(filePath); // Überprüfen, ob der Dateiname in der CSV-Datei vorhanden ist if (nameMappings.TryGetValue(fileName, out string newFileName)) { string destinationPath = Path.Combine(destinationDirectory, newFileName); // Datei kopieren und umbenennen File.Copy(filePath, destinationPath, overwrite: true); Console.WriteLine($"Datei {fileName} wurde nach {newFileName} kopiert."); } else { Console.WriteLine($"Kein neuer Name für Datei {fileName} in der CSV-Datei gefunden."); } } } } ``` ### Erklärung: 1. **CSV-Datei einlesen**: Die CSV-Datei wird eingelesen und in ein Dictionary geladen, wobei der ursprüngliche Dateiname der Schlüssel und der neue Dateiname der Wert ist. 2. **Dateien durchlaufen**: Alle Dateien im Quellordner werden durchlaufen. 3. **Überprüfung und Kopieren**: Für jede Datei wird überprüft, ob ein neuer Name in der CSV-Datei vorhanden ist. Wenn ja, wird die Datei kopiert und umbenannt. ### Voraussetzungen: - Die CSV-Datei sollte im Format `alterName,neuerName` vorliegen. - Die Pfade zu den Verzeichnissen und der CSV-Datei müssen angepasst werden. Dieser Code bietet eine einfache Möglichkeit, Dateien basierend auf einer CSV-Datei umzubenennen und zu kopieren.

Kategorie: Programmierung Tags: C# Dateien CSV
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie füge ich diese Regex in C# ein?

Um die angegebene Regex in C# zu verwenden, kannst du die `Regex`-Klasse aus dem `System.Text.RegularExpressions`-Namespace nutzen. Hier ist ein Beispiel, wie du die Regex in deinem C#-Code einfü... [mehr]

Wie dreht man die Reihenfolge der Zahlen in einem Array um, ohne Array.Reverse und ohne new int?

Um die Reihenfolge der Zahlen in einem Array in C# umzukehren, ohne `Array.Reverse` oder ein neues Array zu verwenden, kannst du eine einfache Schleife verwenden, um die Elemente des Arrays zu vertaus... [mehr]

In C# wie dreht man die Reihenfolge der Zahlen im Array um ohne Array.Reverse?

Um die Reihenfolge der Zahlen in einem Array in C# umzukehren, ohne die Methode `Array.Reverse` zu verwenden, kannst du eine einfache Schleife nutzen. Hier ist ein Beispiel, wie du das machen kannst:... [mehr]

Wie berechne ich Punkte eines Bogens im 3D-Koordinatensystem mit C#?

Um die Punkte eines Bogens im 3D-Koordinatensystem mit C# zu berechnen, kannst du die parametrische Gleichung eines Kreises oder einer Ellipse verwenden. Hier ist ein einfaches Beispiel, wie du dies u... [mehr]

Wie berechne ich Punkte einer Kurve in einem 3D-Koordinatensystem mit C#?

Um die Punkte einer Kurve in einem 3D-Koordinatensystem mit C# zu berechnen, kannst du eine parametrische Gleichung verwenden. Hier ist ein einfaches Beispiel, wie du eine helixförmigeve generier... [mehr]

Wie berechne ich in C# Punkte einer Helix im 3D-Koordinatensystem?

Um die Punkte einer Helix im 3D-Koordinatensystem in C# zu berechnen, kannst du die parametrische Gleichung einer Helix verwenden. Eine Helix kann durch die folgenden Gleichungen beschrieben werden:... [mehr]

Wie berechne ich mit C# die Punkte einer Helix in einem 3D-Koordinatensystem?

Um die Punkte einer Helix in einem 3D-Koordinatensystem mit C# zu berechnen, kannst du die parametrische Gleichung einer Helix verwenden. Eine Helix kann durch die folgenden Gleichungen beschrieben we... [mehr]

C# DataGridView mit Stored Procedure füllen Beispiel

Um ein `DataGridView` in C# mit einer Stored Procedure zu füllen, kannst du die folgenden Schritte befolgen. Hier ist ein einfaches Beispiel: 1. **Verbindung zur Datenbank herstellen**: Verwende... [mehr]

Was ist .gitignore?

Die `.gitignore`-Datei wird verwendet, um bestimmte Dateien und Verzeichnisse von der Versionskontrolle in einem Git-Repository auszuschließen. Du kannst darin Muster angeben, die Git ignorieren... [mehr]

Wie öffne ich mit Access und VBA eine CSV-Datei ohne Zeilenumbruch?

Um eine CSV-Datei in Access mit VBA zu öffnen, ohne dass Zeilenumbrüche berücksichtigt werden, kannst du die Datei als Textdate einlesen und die Daten dann in eine Tabelle importieren.... [mehr]