PhilippVP Geschrieben 26. Juli 2013 Teilen Geschrieben 26. Juli 2013 Hallo Leute, ich habe ein Problem und zwar: Ich soll mit meinem Programm eine Datei.txt einlesen und den Inhalt der .txt mit dem Inhalt eines Ordner vergleichen (liegen nur Bilder drin) und dann Ausgeben ob es identisch ist, wenn nicht sollen die Bilder (aus dem Ordner) was nicht in der .txt stehen gelöscht werden. Könnt Ihr mir helfen ich stehe dan komplett auf dem Schlauch Vielen Dank schon einmal im vorraus für eure Hilfe! MFG PhilippVP Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goulasz Geschrieben 26. Juli 2013 Teilen Geschrieben 26. Juli 2013 StreamReader-Klasse (System.IO) Directory.GetFiles-Methode (System.IO) File.Delete-Methode (System.IO) Dateipfade kannst du in ner List<string> zwischenspeichern. List(T)-Klasse (System.Collections.Generic) Gruß, Goulasz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 26. Juli 2013 Autor Teilen Geschrieben 26. Juli 2013 Hast du da vllt mal ein genauseres Beispiel wo des vor kommt oder hat das schon einmal jemand voneuch gemacht, wo er mich an seiner Lösung mit Teil haben lassen kann. Ich weiss nicht genau wie ich da ran gehen soll Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 26. Juli 2013 Teilen Geschrieben 26. Juli 2013 (bearbeitet) Alles Links von Goulasz verweisen auf die MSDN. Dort gibt es genug Beispiele zu den entsprechenden Klassen. Auch wie man Dateien öffnet und ausliest findest Du da bzw. auch per Suchmaschine. Wie sieht den Dein bisheriger Code aus? Ansonsten kann ich Dir anbieten, das Programm zu schreiben, wenn die finanziellen Angelegenheiten geklärt sind. Bearbeitet 26. Juli 2013 von lbm1305 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goulasz Geschrieben 26. Juli 2013 Teilen Geschrieben 26. Juli 2013 Hey PhilippVP! Ich habe eigentlich alle Klassen verlinkt, die du zur Lösung deines Problems benötigst. Woran hapert es denn bzgl. der Umsetzung? Da du hier seit Ende Januar registriert bist, vermute ich mal, du hast schon etwas Erfahrung im Programmierbereich; und das geschilderte Problem ist eigentlich eher von trivialer Natur. Poste doch mal deinen bisherigen Code oder deine Ansätze, dann sehen wir weiter. Gruß, Goulasz P.S: Du kannst deine Problemstellung btw nahezu im Wortlaut googlen und wirst passende Codebeispiele erhalten. Ein bisschen Eigeninitiative muss sein . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 26. Juli 2013 Autor Teilen Geschrieben 26. Juli 2013 Ich komme am Momtag noch einmal auf euch zurück, ich bin jetzt nicht mehr im Büro am Platz. Ich schreibe Montag wieder! Schönes Wochenende erstmal! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 29. Juli 2013 Autor Teilen Geschrieben 29. Juli 2013 Hallo Leute, ich bin jetzt mit meinem Code (siehe unten) so weit: string datei; string verzeichnis; datei = txtDateiladen.Text; verzeichnis = txtVerzeichnisladen.Text; using (StreamReader sr = new StreamReader(datei)) { string zeile; while ((zeile = sr.ReadLine()) != null) { //MessageBox.Show(zeile); } } string[] verzeichniseinlesen = Directory.GetFiles(verzeichnis); foreach (string dir in verzeichniseinlesen) { MessageBox.Show(dir); } aber ich komme nicht weiter, kann mir auch mal jemand erklären wie das mit dem Inhalt vom Verzeichnis einlesen funktioniert, ich stehe da komplett auf dem Schlauch string[] verzeichniseinlesen = Directory.GetFiles(verzeichnis); foreach (string dir in verzeichniseinlesen) { MessageBox.Show(dir); } Wäre euch sehr dankbar für eure Hilfe! MFG PhilippVP Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 29. Juli 2013 Teilen Geschrieben 29. Juli 2013 (bearbeitet) Ich gehe davon aus, dass die Verzeichnisse in der einzlesenden txt-Datei Zeilenweise aufgeführt sind. ReadLine von StreamReader liest "zeilenweise". D.h. in Variable Zeile steht immer ein Pfad zu einem Verzeichnis. Innerhalb des while - Statements müsstest Du jetzt die Aktion auf das Directory ausführen. Was auch funktioniert...Du speichert alles Pfade in einer Enumeration vom Typ string (IEnumerable<string>) und führst dann auf jedes Item der Enumeration deine Aktionen aus. using (StreamReader sr = new StreamReader(datei)) { string zeile; while ((zeile = sr.ReadLine()) != null) { if(Directory.Exists(zeile) { var files = Directory.GetFiles(zeile); foreach(var file in files) { // MacheEtwasMit(file); // Die Methode kann bspw. die Datei mit den Bildnamen öffnen und den Pfade // Dateinamen vergleichen bzw. suchen. } } } } Noch ein paar Hilfen: http://msdn.microsoft.com/de-de/library/db5x7c0d.aspx http://msdn.microsoft.com/de-de/library/4cyf24ss.aspx http://msdn.microsoft.com/de-de/library/07wt70x2.aspx Bearbeitet 29. Juli 2013 von lbm1305 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 29. Juli 2013 Teilen Geschrieben 29. Juli 2013 Sowas würde ich mittels Powershell erledigen Script List the Files in a Directory Using Windows PowerShell Windows PowerShell Tip: Reading is Fundamental Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 29. Juli 2013 Teilen Geschrieben 29. Juli 2013 ich stehe dan komplett auf dem Schlauch Sowas würde ich mittels Powershell erledigen Daumen hoch... :cool: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lsteinme Geschrieben 8. August 2013 Teilen Geschrieben 8. August 2013 Also ich würds etwa so machen (in VB.net, lässt sich ja aber übersetzten): Dim Sourcefile As String = "FileX.txt" Dim dir As String = "DirectoryX" 'hier stehn nachher alle Namen von Bilddateien die da sein dürfen Dim gueltigeBilder As New List(Of String) For Each line As String In IO.File.ReadAllLines(Sourcefile) gueltigeBilder.Add(line) Next 'hier stehn die namen der Bilddateien die wirklich drin sind Dim Bildnamen As String() = IO.Directory.GetFiles(dir) For Each file As String In Bildnamen 'wenn der Filename nicht in zu den gültigen gehört, wird das File mit dem Namen gelöscht If Not gueltigeBilder.Contains(file) Then IO.File.Delete(file) End If Next Hoffe es ist verständlich was der Code genau tut. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.