Imports System
Imports System.IO
Public Class Form1
Dim SourceFolder As String = "C:\testfrom\"
Dim SourceFolderFileCount
Dim TargetFolder As String = "z:\"
Dim ioFile As New StreamWriter("c:\TestLogFile.txt")
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ioFile.WriteLine("BackUp Started: " & System.DateTime.Now)
SourceFolderFileCount = 0
Dim nameOfDirectory As String = SourceFolder
Dim myDirectory As DirectoryInfo
myDirectory = New DirectoryInfo(nameOfDirectory)
WorkWithDirectory(myDirectory)
ioFile.WriteLine("BackUp Ended: " & System.DateTime.Now)
MsgBox("Done!")
ioFile.Close()
IO.File.Copy("C:\TestLogFile.txt", TargetFolder & "BackUpLog.txt", True)
IO.File.Delete("C:\TestLogFile.txt")
End Sub
Public Sub WorkWithDirectory(ByVal aDir As DirectoryInfo)
Dim nextDir As DirectoryInfo
WorkWithFilesInDir(aDir)
For Each nextDir In aDir.GetDirectories
WorkWithDirectory(nextDir)
Next
End Sub
Public Sub WorkWithFilesInDir(ByVal aDir As DirectoryInfo)
Dim aFile As FileInfo
For Each aFile In aDir.GetFiles()
Application.DoEvents()
Checkfile(aFile)
Next
End Sub
Sub Checkfile(ByVal FileToCheck As FileInfo)
SourceFolderFileCount = SourceFolderFileCount + 1
Label1.Text = SourceFolderFileCount
Dim SourceFile As String = SourceFolder & Microsoft.VisualBasic.Right(FileToCheck.FullName, Len(FileToCheck.FullName) - (Len(SourceFolder)))
Dim SourceFileInfo As FileInfo
SourceFileInfo = New FileInfo(SourceFile)
Dim TargetFile As String = TargetFolder & Microsoft.VisualBasic.Right(FileToCheck.FullName, Len(FileToCheck.FullName) - (Len(SourceFolder)))
Dim TargetFileInfo As FileInfo
TargetFileInfo = New FileInfo(TargetFile)
If IO.File.Exists(TargetFile) Then
MsgBox(TargetFile & " " & SourceFile)
MsgBox(TargetFileInfo.LastWriteTime & " , " & SourceFileInfo.LastWriteTime)
If TargetFileInfo.LastWriteTimeUtc < SourceFileInfo.LastWriteTimeUtc Then
SaveFile(SourceFile, TargetFile, "Over Written File:", True)
MsgBox("not good")
Else
SaveFile(SourceFile, TargetFile, "Exsisting File:", False)
End If
Else
If TargetFileInfo.Directory.Exists = False Then IO.Directory.CreateDirectory(TargetFileInfo.Directory.ToString)
SaveFile(SourceFile, TargetFile, "New File:", True)
End If
End Sub
Sub SaveFile(ByVal SourceFile As String, ByVal TargetFile As String, ByVal Status As String, ByVal DoICopy As Boolean)
If DoICopy = True Then
IO.File.Copy(SourceFile, TargetFile, True)
End If
ListBox1.Items.Add(Status)
ListBox1.Items.Add(SourceFile)
ListBox1.Items.Add(" -->" & TargetFile)
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
ioFile.WriteLine(Status & System.DateTime.Now)
ioFile.WriteLine(" Source File:" & SourceFile)
ioFile.WriteLine(" Target File:" & TargetFile)
ioFile.WriteLine("")
End Sub
End Class