Process.start mit Inhalt aus einer .txt Datei

  • VB.NET

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

    Process.start mit Inhalt aus einer .txt Datei

    Hallo zusammen -

    ich bin mal wieder auf ein kleines Problem gestoßen.

    Wie kann ich mit Process.start(XX) eine Anwendung starten, deren Pfad in der Datei pfad.txt steht?

    Inhalt: pfad.txt

    C:\World of Warcraft\Wow.exe

    Außerdem soll geprüft werden, ob ein Inhalt vorhanden ist.
    Wenn kein Inhalt vorhanden ist, soll eine Fehlermeldung ausgegeben werden.

    Vielen Dank im Voraus.

    Schöne Grüße

    Angarius
    So ist es kürzer:

    VB.NET-Quellcode

    1. Dim cont() As String = System.IO.File.ReadAllLines(DEIN_PFAD)
    2. Process.Start(cont(0))
    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!
    Aber dann braucht man trotzdem noch die Routine die abprüft ob der Pfad stimmt und man müsste jede Zeile nach der richtigen Eingabe absuchen.

    EDIT// Ich mein da könnte man sich jetzt ewig drüber unterhalten aber ich finde den Array mit einem Streamreader zu laden ist anschaulicher ;) Danach noch die For - Schleife die abprüft ob die Eingabe richtig ist und fertig.
    Ich denke, das schafft @Angarius allein, wenn wir ihm sagen, dass es so geht:

    VB.NET-Quellcode

    1. If System.IO.File.Exists(EIN_PFAD) Then
    2. ' etwas tun
    3. Else
    4. ' etwas anderes tun
    5. End If
    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!
    Vielen lieben Dank für die schnelle hilfe.
    Hab es hinbekommen.
    Bin gerade noch dabei die Prüfung zu machen.
    Theoretisch muss ich nicht nur Prüfen, ob die Datei vorhanden ist,
    sondern auch noch ob es einen Wert enthält.

    Oder liege ich hier falsch?

    Nochmals besten Dank.

    Gruß Angarius
    Mir ist gerade eben noch etwas eingefallen.

    VB.NET-Quellcode

    1. Dim openFileDialog1 As New OpenFileDialog()
    2. openFileDialog1.InitialDirectory = "c:\"
    3. openFileDialog1.Filter = "(Wow.exe)|Wow.exe"
    4. openFileDialog1.FilterIndex = 1
    5. openFileDialog1.RestoreDirectory = True
    6. If openFileDialog1.ShowDialog() = DialogResult.OK Then
    7. myStream = openFileDialog1.OpenFile()
    8. Dim Speichern As IO.StreamWriter = New IO.StreamWriter("pfad.txt")
    9. Speichern.WriteLine(openFileDialog1.FileName)
    10. Speichern.Close()


    Momentan speichere ich hiermit meinen Pfad ab.

    Wie kann ich es abändern, dass mir der Pfad ohne der wow.exe gespeichert wird?
    Meines wissens hat der openFileDialog dafür eine eigene Methode, aber ich bin mir nicht ganz sicher.
    Falls das nicht klappt würde ich den Pfad in eine Variable speichern und diese dann dort zuschneiden mit Hilfe der Methoden die der Variabeltyp String so bietet. Wenn du wirklich nichts findest dann nimmst du eben replace und lässt "wow.exe" durch "" ersetzten. Ist zwar unschön, funktioniert aber ;)
    und die elegante Variante:

    VB.NET-Quellcode

    1. Path.GetDirectoryName()
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Setz doch einfach einen Haltepunkt drauf und sieh Dir die Member / Properties von OpenFileDialog zur Laufzeit an.
    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!