Schauen, ob eine Datei existiert, wenn ja umbenennen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von michelosswald.

    Schauen, ob eine Datei existiert, wenn ja umbenennen

    Hallo,
    Mein erster Beitrag befast sich mit dem Thema: Wenn eine Datei existiert, dann soll diese in "Name von Datei"(2).Dateityp geändert werden wenn diese auch existiert soll es prüfen welche Zahl noch frei ist und den Namen dann ändern.

    Quellcode

    1. If System.IO.File.Exists(My.Settings.bild) Then
    2. End If


    Vielen Dank für die Hilfe! Bin noch jung und versuche mich mit einem neuem Programm dieses speichert einen Screenshot nach einem Timer und wenn dieser Screenshot schon existiert stürzt das Programm ab. Ich möchte die Datei jedoch nicht löschen sondern umbenennen damit der neue Screenshot platz hat :huh:
    Willkommen im Forum. :thumbup:

    michelosswald schrieb:

    wenn dieser Screenshot schon existiert stürzt das Programm ab
    Da gibt es zwei Möglichkeiten.
    1. Deine:

      VB.NET-Quellcode

      1. Dim pfad = "c:\temp\bla{0}.txt"
      2. For i = 1 To 10
      3. Dim fi = New IO.FileInfo(String.Format(pfad, i))
      4. If Not fi.Exists Then
      5. fi.MoveTo("c:\temp\blabla.doc")
      6. Exit For
      7. End If
      8. Next

    2. Du verwendest beim Abspeichern Datum und Uhrzeit als Namen:

      VB.NET-Quellcode

      1. Dim name = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss fff") & ".png"

    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!

    Beim abspeichern wird Uhrzeit vom öffnen des Programmes anstatt die Uhrzeit des Speicherpunktes verwendet

    Hallo habe noch eine kurze Frage,
    Ich habe am Anfang datum deklariert

    Quellcode

    1. Dim datum = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss fff") & ".png"
    wenn ich aber jetzt etwas speichere wird nicht die Uhrzeit vom Speicherpunkt sondern vom Programm Aufruf benutzt.... Wenn ich also zwei Sachen speichere wo die Uhrzeit Entscheident ist ersetzt das eine das andere....
    Deßhalb eine Frage: Ist es möglich die variable zu 'refreshen' wenn ich den Speicherbutton drücke ?
    Vielen Dank schon mal :)

    michelosswald schrieb:

    Ich habe am Anfang datum deklariert
    Du hast am Anfang datum deklariert und zugewiesen.
    Du kannst das auch splitten. Und vernünftige Namen vergeben.
    Dim Filename As String am Anfang und Filename = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss fff") & ".png" im Button-Klick-Event.
    Oder, wenn du den Namen nur beim Abspeichern benötigst, kannst du die ganze Zeile ins Klick-Event verfrachten.

    Meine persönliche Vorliebe ist übrigens, auf Leerzeichen im Dateinamen zu verzichten.
    Braucht kein Mensch und bringt nur Ärger.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

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

    torf160 schrieb:

    im Timer-Event müsste das wohl heißen
    Ich habe nichts von einem Timer gelesen, sondern gehe davon aus:

    michelosswald schrieb:

    wenn ich den Speicherbutton drücke


    Ich bin da aber leidenschaftslos.
    Der TE darf gerne selbst entscheiden, wo er die Daten schreiben will.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --