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

发布于 2024-08-29 03:29:47 字数 108 浏览 7 评论 0原文

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

当操作时间较长时,有时会显示进程百分比。

我想知道如果我们想使用 C#/Java 来做到这一点,应该使用什么库?

问候,

I am using 7zip in command line mode.

When the operation takes quite a long time, sometimes there is a process percentage displayed.

I wonder if we want to do this using C#/Java, what library to use?

Regards,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

够钟 2024-09-05 03:29:47

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

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

现在,每次打印该行时,您都会返回到开头,因此下一个百分比会覆盖前一个百分比。

You can print a "carriage return", also known as a '\r' to reset the "cursor" to the start of the line.

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

Now every time you print the line, you get sent back to the start so the next percent overwrites the previous one.

世俗缘 2024-09-05 03:29:47

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

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

我已经有一段时间没有这样做了,但是应该可以了。

no library. You just print to the console System.out.print (not println!), then send backspace characters to clear the line.

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

I haven't done this in awhile, but that should do it.

三月梨花 2024-09-05 03:29:47

您可以清除控制台以获取踢球...哦,不要忘记 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();
      }

  }

}

You could clear the console for kicks...oh and don't forget string.format has percentage support...

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();
      }

  }

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文