如何使用 start 命令在 cmd 中启动 wget 并仅显示进度条?

how to start wget in cmd with start command and show only progress bar?

我想用 wget portable 在 cmd 中使用启动命令和批处理文件下载一个文件,但是 window 看起来很糟糕:

@echo off
start /w wget.exe -q -c --show-progress https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-8.0.23-winx64.msi

我应该在我的命令中添加什么,以将 window 减小到进度条的大小? (如果可能,更改黑色背景颜色和字母颜色)

下载进度 window 可以使用以下命令行打开所需的属性:

start "Download Progress" /wait %ComSpec% /D /T:fg /C "%SystemRoot%\System32\mode.com CON COLS=80 LINES=1 & wget.exe -q -c --show-progress https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-8.0.23-winx64.msi"

处​​理批处理文件的Windows命令处理器cmd.exe从命令start开始,另一个命令处理器引用了预定义的环境变量ComSpec,选项为:

  • /D 禁止从注册表执行 AutoRun 命令,
  • /T:fg 定义控制台的 foreground 和 background 颜色(均为 0-9A-F) window,
  • /C执行下一个指定的命令行,然后自行关闭。

这些选项由 运行 cmd /? 在打开的 command prompt window.

上的用法帮助输出解释

控制台 window 的标题是 Download Progress,已由 start 定义,它等待 self-termination 启动的 cmd.exe 实例。 运行 start /? 在命令提示符 window 中获取有关此命令的帮助。

启动的命令进程执行的命令行首先运行命令MODE将列数改为80,行数改为1,即附加控制台window 变得很小。 运行 mode /? 在命令提示符 window 中获取有关此命令的帮助。

小附加控制台window只显示wget.exe第二个命令处理器实例接下来执行的进度信息。

另请参阅 single line with multiple commands 以了解运算符 & 的解释。