Relativer Pfad / Kopieren und überschreiben

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von bla.

    Relativer Pfad / Kopieren und überschreiben

    Hallo!

    Mein Problem besteht eigentlich aus 2 Problemen, ich fang´ mal mit Problem 1 an:

    Ich möchte eine Datei (diese heißt "a.txt") in einem Verzeichnis (z.B. "C:\temp") kopieren und wieder einfügen. Die ursprüngliche Datei soll bei diesem Vorgang überschrieben werden.

    Den eigentlichen Dateinamen (hier also "a.txt") möchte ich variabel gestalten und zunächst aus ener Textbox auslesen. Der Befehl lautet bis hierhin:

    My.Computer.FileSystem.CopyFile(TextBox1.Text, TextBox1.Text)

    Leider bekomme ich beim debuggen eine Fehlermeldung, dass die Datei bereits exisitiert. Ich vermute mal es liegt daran dass die Befehlsfolge oben nicht überschreibt. Wie muss ich den Befehl hierzu umschreiben?

    Problem Nr. 2:

    Gesetz dem Fall, dass der Code oben später einmal funktioniert, möchte ich noch etwas weiter gehen:

    Ich möchte später keinen absoluten Pfad mehr eingeben müssen (Also "c:\temp\a.txt") sonder ich möchte nur noch "a.txt" eingeben. D.h., das Programm sollte quasi wissen wo es steht und den angegebenen Dateinamen von dieser Position aus kopieren und an die gleiche Position wieder kopieren (und überschreiben).

    Ich hoffe ihr könnt mir bei meinen Problemen weiterhefen!

    Viele Grüße!
    Zu 1.:

    VB.NET-Quellcode

    1. My.Computer.FileSystem.CopyFile(TextBox1.Text, TextBox2.Text, True)


    aber was bringt dir CopyFile(TextBox1.Text, TextBox1.Text)
    das hat doch garkeinen Sinn, da du die Datei mit genau der selben ersetzt.

    Zu 2.:

    speicher die Pfade in zB eine txt-Datei und lies sie beim Start aus. Somit hast du den zuletzt eingegebenen Pfad wieder
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!
    Hallo!

    Das Vorgehen eine Datei zu überschreiben die es bereits gibt mag snnlos erscheinen, ist es aber nicht. Die Gründe warum ich diese Vorgrhensweise genau so prgrammieren will sind ein bisschen komplex und haben eigentlich mit dem Thema nichts zu tun, fakt ist eigentlich nur das ich eine Datei kopieren und mit sich selbst ersetzen möchte.

    Zu 2.

    Kannst du mir etwas detailierter schildern wie du dir das vorstellest oder mir ein Beispiel nennen?

    Danke und viele Grüße!
    zu 2.:

    Ganz genau weiß ich nicht, was du willst :P

    Möglichkeit 1: Wenn die zu ersetzende Datei im selben Ordner ist, wie dein Programm, dann nutze doch application.startuppath & "\test.txt"

    Möglichkeit 2: Man gibt beim 1. Start der Programms den Ordner an. Dieser wird dann in eine Datei gespeichert und beim nächsten Start wieder ausgelesen, sodass man den Pfad wieder hat.
    am einfachsten mit "My.Computer.FileSystem.ReadAllText" und "My.Computer.FileSystem.WriteAllText"
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!