在DOS屏幕上显示进程百分比

时间:2010-04-15 05:57:07

标签: c# java dos

我在命令行模式下使用7zip。

当操作需要很长时间时,有时会显示一个过程百分比。

我想知道我们是否想要使用C#/ Java,使用什么库?

此致

3 个答案:

答案 0 :(得分:5)

您可以打印“回车”,也称为'\r',将“光标”重置为该行的开头。

System.out.printf("Progress: %3d %% \r", percentComplete);

现在每次打印该行时,都会被发送回开头,所以下一个百分比会覆盖前一个百分比。

答案 1 :(得分:3)

没有图书馆。您只需打印到控制台System.out.print(而不是println!),然后发送退格字符以清除该行。

System.out("Progress 5");
System.out("\b\b\b\b\b\b\b\b\b\b");
System.out("Progress 10");

我暂时没有这样做,但应该这样做。

答案 2 :(得分:0)

你可以清除控制台的踢...哦,不要忘记string.format有百分比支持......

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
          var perc = 0.0;
          while(perc <= 1.0)
          {

            Threading.Thread.Sleep(50); //simulate doing some work

            //EDIT:
            //Console.Clear();
            Console.Write(String.Format("{0:P}\r", perc)); //as per suggestion

            perc += 0.01;
          }
          Console.WriteLine("Press any key to exit");
          var exit = Console.ReadKey();
      }

  }

}