In Textdatei definierte Dateien aus Ordner an Zielposition kopieren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    In Textdatei definierte Dateien aus Ordner an Zielposition kopieren

    Hallo,
    ich habe einen Ordner voll mit Bildern und ich möchte ein Tool erstellen, welches bestimmte Bilder an eine Position kopiert. Welche Bilder genau kopiert werden sollen, steht in einer Textdatei (goo.gl/bxSIQx). Ein Bild in dem Ordner heißt z.B. SAM_0001.jpg aber in der Textdatei steht nur 0001. Der Nutzer soll nur Bilder-Ordner, Ziel-Order (also wo hin kopiert werden soll) und Textdatei mit entsprechenden Bildernummern angeben. Ich habe es mit folgendem Code versucht aber es kommt beim Debuggen ein Fehler bei Klick auf Button 4 (www11.pic-upload.de/18.07.15/qqth3i6b7s6.png) Datei nicht gefunden. Code:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Dim Pfad_SOurce As String
    4. Sub BilderListe() 'Eigentliches Kopieren
    5. For i As Integer = 0 To Label4.Text()
    6. Dim Daten_Lesen() As String = IO.File.ReadAllLines(Label3.Text)
    7. Dim Source As String = Pfad_SOurce + "\SAM_" & Daten_Lesen(i) & ".jpg"
    8. Dim Destination As String = Label2.Text & "\Pic" & (i) & ".jpg"
    9. System.IO.File.Copy(Source, Destination, True)
    10. Next
    11. End Sub
    12. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Ordner mit den Bildern
    13. FolderBrowserDialog1.ShowDialog()
    14. Dim Pfad_SOurce As String
    15. Pfad_SOurce = FolderBrowserDialog1.SelectedPath
    16. Label2.Text = Pfad_SOurce
    17. End Sub
    18. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Zielordner
    19. FolderBrowserDialog2.ShowDialog()
    20. Dim Pfad_Ziel As String
    21. Pfad_Ziel = FolderBrowserDialog2.SelectedPath
    22. Label2.Text = Pfad_Ziel
    23. End Sub
    24. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Textdatei
    25. OpenFileDialog1.ShowDialog()
    26. Dim Textdatei As String
    27. Textdatei = OpenFileDialog1.FileName
    28. Label3.Text = Textdatei
    29. End Sub
    30. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'Startbefehl
    31. Dim Lines() As String = System.IO.File.ReadAllText(Label3.Text).Split(Environment.NewLine) 'Hier wird geschaut, wie viele Zeilen die Textdatei hat.
    32. Dim LineCount As Integer = Lines.Count
    33. Label4.Text = LineCount
    34. BilderListe()
    35. End Sub
    36. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    37. End Sub
    38. End Class


    Ich hoffe, ihr könnt mir helfen.
    LG
    Wenn du Dateien oder Bilder anfügen willst, bitte nicht auf Fremdhoster - ich zumindest suche die prinzipiell nicht auf, weil man da vmtl. getrackt wird.

    Es gibt doch auch eine schöne

    Und zum Datei nicht gefunden- Fehler kann man schon mal sagen, dass der kommt, wenn die Datei nicht gefunden wurde.
    Da muss man dann halt gucken, was am übergebenen DateiPfad falsch ist.
    Das ist mir klar. Deshalb habe ich ja den Thread geöffnet, um den Fehler zu finden. Ich habe das Problem selber nicht gefunden. Das Bild sollte mein Problem nur verdeutlichen, ich habe es ja auch beschrieben. Trotzdem das Bild hier nochmal als Anhang.
    Bilder
    • qqth3i6b7s6.png

      121,08 kB, 1.700×930, 90 mal angesehen
    Schalte mal ganz fix Option Strict On.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    hier wird (neben vielem anderen) gezeigt, wie du in die Variablen reingucken kannst: VisualStudio richtig nutzen (Google ist nicht deine Mami)
    Der fehlerhafte Wert kann ja nur entweder in Source oder in Destination drinne sein.

    Obwohl - es steht ja direkt in der Meldung: \Sam_001.jpg gibts halt nicht, das ist ja auch sonnen klar.
    Ein richtiger Dateipfad sieht so aus: C:\Programming\FavoriteDocuments\new 3.txt
    Welchen Inhalt hat die Variable Pfad_SOurce?
    Füge vorher dies ein:

    VB.NET-Quellcode

    1. MessageBos.Show(Pfad_SOurce)

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!