Erste Datei in einem Ordner auslesen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von marctheshark.

    Erste Datei in einem Ordner auslesen

    Hallo,

    ich möchte aus einem Ordner die Datei die an erster Stelle steht auslesen.

    Beispiel:

    Ordner1
    • Abend.txt
    • Morgen.txt
    • Nacht.txt
    Ich habe einen Ordner (Ordner1) und möchte nun die erste Position (Abend.txt) aus dem Ordner in einem Label anzeigen lassen.
    Wie komme ich an den Dateinamen?

    Gruß vom Shark
    Es kommt evtl. darauf an, wie du die Daten ausließt, ob du sie zB alphabetisch oder nah der Dategröße ausließt.
    wenn du jetzt zB einen Pfad in CMD mit "dir" ausließt wird auch die Liste alphabetisch ausgegeben.

    Ich glaube, dass sich das nicht auslesen lässt, wie du es selbst im Ordner angelegt hast.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Danny233223“ ()

    ganz einfach =)
    also alle Dateien eines Ordners ließt man wie folgt aus:

    VB.NET-Quellcode

    1. dim strBuilder as new System.text.stringbuilder
    2. for each strFile as String in IO.Directory.GetFiles("C:\")
    3. strBuilder.append(str & vbnewline)
    4. next strFile


    vielleicht funktionierts auch gleich mit einem array...

    vielleicht hilfts dir ja weiter =) bissle probieren

    falls du wirklich nicht weiterkommen solltest, dann meld dich einfach =)
    freu mich, wenn ich helfen kann

    grüße
    Danny233223
    ich würd's eher so machen

    VB.NET-Quellcode

    1. Dim files As New List(Of String)
    2. files.AddRange(IO.Directory.GetFiles("C:\"))
    3. For Each f As String In files
    4. MessageBox.Show(IO.Path.GetFileName(f))
    5. Next

    da hast du dann die reinen dateinamen ohne den pfad oder halt für die erste entsprechend

    VB.NET-Quellcode

    1. Dim files As New List(Of String)
    2. files.AddRange(IO.Directory.GetFiles("C:\"))
    3. MessageBox.Show(IO.Path.GetFileName(files(0)))
    Vielen Dank erst mal für die Lösungsansätze!!!!

    Ich habe nun noch folgendes Problem,
    wenn in dem Ordner den ich Abfrage keine Datei liegt kommt die folgende Fehlermeldung:

    "ArgumentOutOrRangeException wurde nicht behandelt"

    Wenn ich das recht verstehe muss ich nun erst prüfen, ob in dem Ordner eine Datei ist und dann
    kann ich erst die Datei auslesen.
    Das klingt ja auch logisch....

    Jedoch wie Prüfe ich, ob eine Datei vorhanden ist....

    Hier noch mein Code den ich verwende...

    VB.NET-Quellcode

    1. Dim files As New List(Of String)
    2. Dim datei As String
    3. files.AddRange(IO.Directory.GetFiles("R:\111"))
    4. datei = (IO.Path.GetFileName(files(0)))
    5. MessageBox.Show(datei)


    Vielen Dank

    Gruß vom Shark
    Sorry, ich hab vor Bäumen den Wald nicht mehr gesehen...

    Ich verwende nun deinen Einzeiler.
    Das klappt ja wunderbar, so wie ich mir es vorgestellt habe.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Try
    4. MessageBox.Show(IO.Path.GetFileName(IO.Directory.GetFiles("R:\111")(0)))
    5. Catch ex As Exception
    6. MessageBox.Show("Keine Datei vorhanden!")
    7. End Try
    8. End Sub
    9. End Class


    Vielen Dank

    Gruß vom Shark