Go Premium for a chance to win a PS4. Enter to Win


Backing up and restoring a file

Posted on 2004-10-13
Medium Priority
Last Modified: 2010-04-24
I am trying find some code to do a simple backup and resotore of a Data.ini file, In short; I have a Data.txt file in a directory called Support Files that I access with Application.StartupPath() I need a button to make a copy of the Data.txt file in the Support Files directory and place the copy of the file in a directory Support Files\Backups but have it renamed to a format of the name "Data" plus the date it was saved on and the .txt extension.  

If for some reason the user messes up the main Data.txt file in the Support Files directory I also need a button to allow them to open the Support Files\Backups directory and select the file they want to replace the bad Data.txt file with.  It will then overwrite the Data.txt file in the Support Files directory with the file from the Support Files\Backups directory and leave the backup copy in the Support Files\Backups directory too.
Question by:teamdad
  • 3
LVL 86

Accepted Solution

Mike Tomlinson earned 2000 total points
ID: 12302541
Add an OpenFileDialog control from the toolbox to your form and use the following code:

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim supportPath As String = Application.StartupPath() & "\Support Files\"
        Dim backupPath As String = supportPath & "\Backups\"

        OpenFileDialog1.Title = "Please select a Backup INI file to Restore"
        OpenFileDialog1.InitialDirectory = backupPath
        OpenFileDialog1.Filter = "Backup INI files (*.ini)|*.ini"

        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            Dim sourceFile As String = OpenFileDialog1.FileName
            Dim doubleCheck As String = _
                "Your original Data.ini will be replaced with:" & vbCrLf & _
                sourceFile & vbCrLf & vbCrLf & _
                "Are you sure you want to continue?"
            If MessageBox.Show(doubleCheck, "Restore Backup INI", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                Dim targetFile As String = supportPath & "Data.ini"
                If System.IO.File.Exists(targetFile) Then
                End If
                System.IO.File.Copy(sourceFile, targetFile)
            End If
        End If
    End Sub
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 12302579

In your first sentence you stated that the file was Data.ini, but in all subsequent references it is Data.txt.

If the file is indeed data.txt and not data.ini, then change all occurrences of "ini" in the code with "txt".

LVL 86

Expert Comment

by:Mike Tomlinson
ID: 12302638
You should still be able to use the code srcalc gave you to make a Backup of the file:

    Dim datapath = Application.StartupPath & "\Support Files\"
    Public Sub backupData()
        If Not File.Exists(datapath & "Data.ini") Then
            MsgBox("There is no data to copy!")
            File.Copy(datapath & "Data.ini", datapath & "Backups\Data" & Now.Month & "-" & Now.Day & "-" & Now.Year & " " & Now.Hour & "-" & Now.Minute & "-" & Now.Second & ".ini")
        End If
    End Sub


Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Suggested Courses

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question