Hallo 🙂
Ich habe folgendes Problem.
Ich habe einen Ordner indem 2 Unterordner sind. (Bspl.: Am Desktop ist ein Ordner Test, indem Ordner Test sind 2 Ordner namens Test1 und Test2) In diesen Unterordnern sind beliebig viele Dateien. Mein Problem ist, dass ich es nicht schaffe, dass alle Dateien in den 2 verschiedenen Ordnern zeitgleich umbenannt werden, da ich soweit ich weiß den Pfad angeben muss. Hat da wer einen Ansatz für mich? ?( 🙁
Tut mir leid falls ich mich unverständlich ausgedrückt habe^^
Danke & LG
Hallo,
Absolut zeitgleich wird nicht funktionieren da das umbenennen immer ein paar ms dauern wird.
Aber du kannst dir die Inhalte (Dateien) der Ordner auslesen. Somit bekommst du die Pfade zu den Dateien.
Sieh dir dazu die Klasse DirectoryInfo an.
Ok ich wollte nur wissen ob jemand eine Tipp hat, ob es geht nicht 2 mal den Pfad angeben zu müssen.
Also statt
C:\Ordner\Unterordner1
C:\Ordner\Unterordner2
vielleicht
C:\Ordner\
da ich versuche nicht den ganzen Code einfach zu kopieren und 2 mal auszuführen ^^
Wie Yeats schon sagte:
Sieh dir dazu die Klasse DirectoryInfo an.
Mit Link: DirectoryInfo-Klasse
noch konkreter wie du die Dateipfade holen kannst:
DirectoryInfo.GetFiles-Methode
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 3.1
Hi,
falls du es noch nicht rausgefunden hast...
So könnte es aussehen
static void Main(string[] args)
{
//Pfad, dessen Inhalt umbenannt werden soll
string path = @"C:\Ordner";
//Alle Dateien aus dem aktuellen Verzeichnis und aus Unterordner auslesen
//Searchpattern bsp.: "*" = Alle Dateien / "*.jpg" = Nur Dateien mit der Endung .jpg
var files = Directory.GetFiles(path, "*.jpg", SearchOption.AllDirectories);
foreach (var file in files)
{
FileInfo fileInfo = new FileInfo(file);
//Ordner der aktuellen Datei
string folder = Directory.GetParent(file).FullName;
//Da es im Standard kein File.Rename gibt...
File.Move(file, folder + "\\Präfix_" + fileInfo.Name.ToLower());
}
}
Das ist ja der Sinn der Objekt-Orientierung! Schreib dir doch selbst ne statische Klasse!
und schon hast du alles selbst geschafft!!! Und kannst die Klasse sogar verkaufen!
OO gibts seit Platon - hatte der auch C#?