Windows 11,如何使用 1 个命令获得 2 个输出?

Windows 11,如何使用 1 个命令获得 2 个输出?

Windows 11 命令提示符:
Output1:
此命令chkdsk /r d:运行正常并将数据输出到屏幕。

但是上面的命令需要多长时间?
运行第二个命令,答案是
6 hour 12 minutes ...针对 USB 磁盘


输出2:
Win11命令提示符:

powershell -Command "Measure-Command { chkdsk /r d: }"


Days              : 0
Hours             : 6
Minutes           : 12
Seconds           : 45
Milliseconds      : 703
Ticks             : 223657036568
TotalDays         : 0.258862310842593
TotalHours        : 6.21269546022222
TotalMinutes      : 372.761727613333
TotalSeconds      : 22365.7036568
TotalMilliseconds : 22365703.6568

问题是 2 个输出需要 2 个命令。
问题是:如何使用一个命令将两个输出都显示在屏幕上?

  1. chkdsk 输出
  2. 时间输出

--

答案1

您可以使用管道Out-Default强制显示表达式Measure-Command输出:

# only outputs the time:
Measure-Command {ping localhost}

# Using Out-Default shows ping results and time:
Measure-Command {ping localhost | Out-Default}

将文本写入控制台可能会影响命令的执行速度,因此默认情况下会抑制输出。


chkdsk对于直接显示到控制台(而不是使用标准输出)的程序,您仍然可以使用标准计时器,例如:

$sw = [Diagnostics.Stopwatch]::StartNew()
chkdsk /r d:
$sw.Stop()
$sw.Elapsed  ## display timer

或者从命令提示符执行所有操作:

powershell -c $sw = [Diagnostics.Stopwatch]::StartNew();chkdsk /r d: ;$sw.Stop();$sw.Elapsed

相关内容