程序代码: AppUpdater.vb
Imports System.IO
Public Class AppUpdater
Private Total As Integer = 0
Private FileNumber As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
'Me.ProgressBar1.Maximum = Directory.CreateDirectory(Me.TextBox1.Text).
Dim DirInfo_source As New DirectoryInfo(Me.Tbx_Source.Text)
Total = 0
FileNumber = Me.GetFilesCount(DirInfo_source)
Me.ProgressBar1.Maximum = FileNumber
Me.copyDirector(Me.Tbx_Source.Text,Me.Tbx_Dest.Text)
End Sub
Public Sub copyDirector(ByVal SourceDirName As String,ByVal DestdirName As String)
If (Not Directory.Exists(DestdirName)) Then
Directory.CreateDirectory(DestdirName)
File.SetAttributes(DestdirName,File.GetAttributes(SourceDirName))
End If
If (DestdirName(DestdirName.Length - 1) <> Path.DirectorySeparatorChar) Then
DestdirName = DestdirName + Path.DirectorySeparatorChar
Dim files As String() = Directory.GetFiles(SourceDirName)
For Each l_file As String In files
File.copy(l_file,DestdirName + Path.GetFileName(l_file),True)
File.SetAttributes(DestdirName + Path.GetFileName(l_file),FileAttributes.normal)
Total = Total + 1
Me.lblStatus.BackColor = Me.ProgressBar1.BackColor
Me.ProgressBar1.Value = Total
If (FileNumber = 0) Then
lblStatus.Text = "已完成 100%"
Else
lblStatus.Text = "已完成 " + (Math.Round(CType((100 * Total / FileNumber),System.Double),0)).ToString() + "%"
End If
Me.Label_From.Text = l_file
Me.Label_To.Text = DestdirName + Path.GetFileName(l_file)
lblStatus.Refresh()
Label_From.Refresh()
Label_To.Refresh()
Next
Dim dirs As String() = Directory.GetDirectories(SourceDirName)
For Each dir As String In dirs
Me.Refresh()
Me.Focus()
Me.Activate()
copyDirector(dir,DestdirName + Path.GetFileName(dir))
Next
End If
End Sub
Public Function GetFilesCount(ByVal dirInfo As System.IO.DirectoryInfo) As String
Dim totalFile As Integer = 0
totalFile += dirInfo.GetFiles().Length
For Each subdir As System.IO.DirectoryInfo In dirInfo.GetDirectories
totalFile += GetFilesCount(subdir)
Next
Return totalFile
End Function
End Class
---效果图---
原文地址:https://www.jb51.cc/vb/263194.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。