2012-12-15 40 views
-1

我正在制作一个控制台应用程序,它将复制较大的文件(最多2 GB)(使用My.Computer.FileSystem.CopyDirectory),我想制作一个百分比指示器。我只想让它显示当前百分比(例如23%)。我是新来的Visual Basic,我不知道如何做到这一点。Visual Basic控制台应用程序复制百分比?

任何帮助,将不胜感激。

+0

您可能想用适当的语言对其进行标记。这看起来不像你在讨论VBA。通常情况下,您想要枚举目录中的文件,然后在每次复制文件时更改显示的百分比(如果要显示复制文件的百分比)或总计所有文件的大小,则显示复制每个文件时复制的字节的百分比。可能想要显示,例如“复制文件:xxxx.ext(nnnn bytes)”,这样用户就知道副本可能需要多长时间。 –

回答

2

你可以简单地打印一行:

"Copy process: 30% done \r"

控制台(注意在最后几个多余的空格 - 你需要它们来清除旧的垃圾)。另请注意,\r将使光标返回行的开头,所以下一个打印将占据相同的行。

2

下面一个代码示例显示在控制台应用程序百分比指标:

For i = 1 To 100 
    Console.Write(String.Format("Copy progress: {0}%" & vbCr, i)) 
    Threading.Thread.Sleep(100) 
Next 

VB.NET没有反应\r,你需要使用vbCr常量来代替。

另请注意,最后不需要额外的空格,因为百分比值总是会增加 - 清理不是必需的。