Veröffentlicht 21. November 201311 j Hallo alle zusammen, ich habe ein Problem und ich hoffe Ihr könnt mir helfen. Ich will einen Odner Datei Vergleich durchführen lassen (klappt auch soweit (Code aus Internet)) aber ich verstehe Ihn nicht wirklich und ich möchte da auch noch was dazuschreiben. Wenn der Wert true ist, dann will ich etwas mit FTP machen. Wenn der Wert false ist, dann soll das falsche kopiert werden in ein anderes Verzeichnis. Aber ja nachdem wie es einfacher zu händeln ist, soll er das falsche in ein anderes Verzeichnnis verschieben und das richtige dann per FTP hochladen. Ich hoffe Ihr könnt mir da helfen. Hier einmal mein bisheriger Code: private void doMatch() { System.IO.DirectoryInfo dInfo; System.IO.FileInfo fInfo; System.IO.StreamReader sReader; List<string> lstFiles; try { if (txtOrdnerPfad.Text.Length > 0 && txtOrdnerPfad.Text != _TxtFolderTextAtStartup && txtTextdateiPfad.Text.Length > 0 && txtTextdateiPfad.Text != _TxtTextFileAtStartup) { dInfo = new System.IO.DirectoryInfo(txtOrdnerPfad.Text); if (!dInfo.Exists) throw new NullReferenceException("Ordner existiert nicht oder ist schreibgeschützt"); fInfo = new System.IO.FileInfo(txtTextdateiPfad.Text); if (!fInfo.Exists) throw new NullReferenceException("Datei existiert nicht oder ist durch die Benutzung eines anderen Benutzer schreibgeschützt"); fInfo = null; sReader = new System.IO.StreamReader(txtTextdateiPfad.Text); lstFiles = new List<string>(); do { lstFiles.Add(sReader.ReadLine()); } while (!sReader.EndOfStream); foreach (string strFileName in lstFiles) { txtProtocol.Text += strFileName + " Existiert? --> "; txtProtocol.Text += (from dFiles in dInfo.GetFiles() where dFiles.Name == strFileName select dFiles).Count() > 0; txtProtocol.Text += Environment.NewLine; } } } catch (Exception ex) { MessageBox.Show("Fehler beim Vergleichen des Ordners und der Datei" + Environment.NewLine + ex.Message, "Error - FTP Bilder Vergleich mit Upload - Vergleich", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Danke schon einmal im Vorraus MFG Philipp
21. November 201311 j Was verstehst Du nicht? Weißt Du, was Schleifen und Anweisungen machen? Dann kannst Du auch den Code lesen.
21. November 201311 j Autor Ich verstehe nicht wie der Wert True und False dann dahinter steht, wo wird das ausgegeben?
21. November 201311 j Der Code gibt doch auch nirgendwo true oder false zurück. Meinst du die if abfragen?
21. November 201311 j (from dFiles in dInfo.GetFiles() where dFiles.Name == strFileName select dFiles).Count() > 0; Genau hier. So wie ich das verstanden habe iteriert er über alle Dateien in dFiles und wenn der Name gleich dem strFileName ist, dann selektiert er diese. Anschließend zählt er die Selektierten und überprüft ob diese Anzahl > 0 ist -> wenn ja wird true angehangen, wenn nein false Bearbeitet 21. November 201311 j von hbspike
21. November 201311 j Autor @hbspike: Ja genau vollkommen richtig Meine Frage ist dann jetzt nur wie kann ich eine If-Abfrage machen, indem ich wenn der Wert false ist die Daten mit False in ein anderes Verzeichnis verschiebe?
21. November 201311 j Jetzt echt? Pack halt genau die Zeile in ne if abfrage und dann benutzt die .net mechanismen um dateien zu verschieben. Ich glaube auch in .net ist das ! for der if-anweisung negierend. Ich hab davon keine Ahnung Bearbeitet 21. November 201311 j von hbspike
21. November 201311 j Autor Ich weiss nicht genau wie du das meinst So steht es in meiner TextBox drin. A900300.jpg Existiert? --> True WW316100.jpg Existiert? --> True WW316102.jpg Existiert? --> True HW7010123.jpg Existiert? --> True MS20000173.jpg Existiert? --> True Neue Bitmap.bmp Existiert? --> False Jetzt will ich die "Neue Bitmap.bmp" in ein anderes verzeichnis verscheiben weil ja der Wert False ausgegeben wird. Hat da jemand eine Idee?
21. November 201311 j also mal in Pseudocode if(Not bitmap.bmp exists und IchSchreibrechteAufDenZielpfadHabe) { File.Move("D:\IchBinderZielpfad") }
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.