speicherort finden

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    speicherort finden

    hallo, ich möchte, dass mein programm den speicherort von dem .FTB ordner findet. früher war es so dass er immer in %appdata% lag, aber mittlerweile könnte man sich den selbst auf dem desktop machen. wie also kann ich meinem programm sagen, suche datei "FTBLauncher.exe" und erstelle in dem ordner wodrin sie ist eine textdatei. ?? also, wie mach ich den pfad für:

    VB.NET-Quellcode

    1. My.Computer.FileSystem.WriteAllText("PFAD", TextBox3.Text, False)


    //EDIT: habe mich ein weig schlau gelesen, würde das gehen wenn ich einfach sage :

    VB.NET-Quellcode

    1. My.Computer.FileSystem.WriteAllText("\.FTB\Servers_My.txt", TextBox3.Text, False)

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

    FTB ist Feed the Beast. Es muss einem nix sagen, sofern man kein Minecraft spiept/besitzt. Ist einfach ein Modpack. Und das sollte in der Appdata sein, sowie bei Vanilla und allen anderen Modpack-Launchern.

    LG

    P.S. Benutze anstatt den My-Namespace den IO-Namespace.

    Senio schrieb:

    dass mein programm den speicherort von dem .FTB ordner findet.
    Wie oft und auf wie vielen Rechnern soll denn dieser Ort gefunden werden?
    Würde Dir der festplatten spy (==> Google) helfen?
    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!

    ichduersie schrieb:

    Mache doch eine rekursive Suche über die Festplatte

    das ist genau was ^^, ???


    ~blaze~ schrieb:

    Statt My.Computer... wäre System.IO.File.WriteAllText zu empfehlen.

    wo ist denn der unterschied ??


    würde das so funktionieren ??

    VB.NET-Quellcode

    1. Dim prozess As String = "FTBLauncher"
    2. For Each Process In System.Diagnostics.Process.GetProcessesByName(prozess)
    3. Next


    und dann von der datei aus nen relativen pfad zu dem ordner in dem die enthalten ist ??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Senio“ ()

    Zu 1: Eine rekursive Dateisuche ist inprinzip leicht erklärt. Sie durchsucht den Pfad den du ihr gibst und ignoriert bzw. überspringt alle Ordner, bei dem sie keine Rechte hat. Beispielsweise kann man ihr C:// übergeben und sie durchsucht alle Ordner in C://, aber nicht C://, da sie keine Rechte für den Ordner besitzt.

    Zu 2: Wie hier schon öfters erklärt wurde, besitzt der My-Namespace Nachteile und erstellt Fehler, die nicht zustande kommen sollten. Deshalb greift man auf die Alternativen zurück bspw. Environment und IO.

    LG

    ChOoSeMyNaMe schrieb:

    besitzt der My-Namespace Nachteile und erstellt Fehler, die nicht zustande kommen sollten.

    So kann man das nicht sagen. Der Nachteil ist der, dass einfach das .NET-Zeugs gewrappt wird und das auf schlampige Art und Weise, sodass die Performance darunter im Gegensatz zu den .NET-konformen Alternativen schlechter ist.

    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 :!: