PhilippVP Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SaJu Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 Was verstehst Du nicht? Weißt Du, was Schleifen und Anweisungen machen? Dann kannst Du auch den Code lesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 21. November 2013 Autor Teilen Geschrieben 21. November 2013 Ich verstehe nicht wie der Wert True und False dann dahinter steht, wo wird das ausgegeben? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 Der Code gibt doch auch nirgendwo true oder false zurück. Meinst du die if abfragen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 (bearbeitet) (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 2013 von hbspike Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 21. November 2013 Autor Teilen Geschrieben 21. November 2013 @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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 (bearbeitet) 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 2013 von hbspike Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 21. November 2013 Autor Teilen Geschrieben 21. November 2013 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 also mal in Pseudocode if(Not bitmap.bmp exists und IchSchreibrechteAufDenZielpfadHabe) { File.Move("D:\IchBinderZielpfad") } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 21. November 2013 Autor Teilen Geschrieben 21. November 2013 Hast du da vllt noch eine genauere Idee wie ich das abhandeln könnte? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 21. November 2013 Teilen Geschrieben 21. November 2013 if-else (C# Reference) File Class (System.IO) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilippVP Geschrieben 21. November 2013 Autor Teilen Geschrieben 21. November 2013 Danke für deine Hilfe 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.