【发布时间】:2018-10-06 06:07:00
【问题描述】:
尝试创建控制台应用程序以将目录从源复制到目标,而在复制文件时进度条不执行任何操作...
My.Computer.FileSystem.CopyDirectory(source, destination)
For i = 1 To 100
Console.Write(String.Format("Copy progress: {0}%" & vbCr, i))
Threading.Thread.Sleep(100)
Next
或者 ProgressBar 在整个复制过程中都显示“复制进度 1%”...
For i = 1 To 100
Console.Write(String.Format("Copy progress: {0}%" & vbCr, i))
My.Computer.FileSystem.CopyDirectory(source, destination)
Threading.Thread.Sleep(100)
Next
想知道我做错了什么,因为我显然将 My.Computer 行放在了错误的位置!
【问题讨论】:
-
您必须一次复制一个文件,并在每个复制后增加进度。
CopyDirectory方法在将控制权传递给下一条指令之前完成了这一切,因此它不适合此目的。 -
@AndrewMorton 感谢您的回复,除了 CopyDirectory 之外,还有其他更好的方法吗?
-
获得带有Directory.GetFiles Method 的文件列表后,您可以使用File.Copy Method 复制每个文件。您可能会发现 Path.Combine Method 对于将部分路径可靠地组合在一起很有用。
-
@AndrewMorton 它说目标是一个目录而不是一个文件。
-
你必须告诉它目标文件的完整路径,包括文件名。
标签: vb.net progress-bar console-application