Windows 相当于 UNIX 的“时间”命令

eff*_*iss 86 windows command-line

因此,Unix 有一个time命令可以让用户为他们的代码/其他事情计时。我想知道 Windows 命令行是否有类似的东西。

另外,我在这里问了一个关于 Linux 命令行的先前问题。我们可以为 Windows 做同样的事情吗?如果是这样,如何?

mjs*_*jsr 65

使用 Powershell

Measure-Command {start-process whateveryouwantexecute -Wait}
Run Code Online (Sandbox Code Playgroud)

根据您的需要编辑@efficiencylsBliss:

Measure-Command {start-process java -argumentlist "whateverargumentisneeded" -wait}
Run Code Online (Sandbox Code Playgroud)

  • 我正在尝试使用“Measure-Command {start-process \Python27\python test.py -Wait}”来测量运行Python脚本所需的时间。这将打开一个新的 cmd 窗口来运行该进程,但在运行完成后关闭该窗口。我也想查看脚本的输出,那么如何保持窗口打开呢? (2认同)
  • @JohnPeterThompsonGarcés 使用 start-process cmdlet 的 -NoNewWindow 参数 (2认同)

小智 22

我正在使用 Win XP,出于某种原因,timeit.exe对我不起作用。我找到了另一种选择 ptime

ptime 1.0 - 准确测量程序执行时间

ptime 将运行任何指定的命令和参数,并以秒为单位测量执行时间(运行时间),精确到 5 毫秒或更好。它是一个自动过程计时器,或用于基准测试的程序计时器。


Joh*_*n T 20

您可以使用批处理脚本作弊...

@echo off
echo %time% < nul
cmd /c %1
echo %time% < nul
Run Code Online (Sandbox Code Playgroud)

然后运行你的程序作为这个脚本的参数......

计时器 myprogram.exe

和争论...

计时器“myprogram.exe -sw1 -sw2”

示例输出:

17:59:20.02
some text
17:59:20.03
Run Code Online (Sandbox Code Playgroud)

将批处理脚本放在您的 PATH 变量中的某个位置,例如C:\Windows\System32并将其命名为timer.cmd. 当然,分叉第二个 cmd 实例会对性能造成很小的影响,尽管非常小。

  • 为什么要将 `nul` * 重定向到 * `echo`?`echo` 永远不会读取输入。 (3认同)
  • 您可以将`cmd /c %1`更改为`cmd /c %*`,这样就可以节省命令参数的引号 (2认同)

小智 7

一些咖啡帮助我想出了这个:

function time { $Command = "$args"; Measure-Command { Invoke-Expression $Command 2>&1 | out-default} }
Run Code Online (Sandbox Code Playgroud)

如果你想让它不输出任何内容,只需替换为 out-null 即可:

function timequiet { $Command = "$args"; Measure-Command { Invoke-Expression $Command 2>&1 | out-null} }
Run Code Online (Sandbox Code Playgroud)

你像这样使用它:

PS C:\> time sleep 5


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 4
Milliseconds      : 990
Ticks             : 49906722
TotalDays         : 5,77624097222222E-05
TotalHours        : 0,00138629783333333
TotalMinutes      : 0,08317787
TotalSeconds      : 4,9906722
TotalMilliseconds : 4990,6722



PS C:\>
Run Code Online (Sandbox Code Playgroud)


Red*_*ick 6

没有与timeWindows 上的 Unix 直接等效的东西。

佐治亚大学为 Unix 用户提供了一份 Windows 命令的简短列表

我发现较旧的 Windows 命令提示符和 .bat 脚本与 Unix shell 相比相当有限,但有一些用于循环文件等的工具。CommandWindows.com 有一些提示

您可以bash在 Windows 上安装(例如,通过安装 CygWin)或学习 Windows Powershell(我假设它有一种方法可以做类似的事情)。


小智 5

为了便于使用,这里是巧克力包:https : //chocolatey.org/packages/ptime C:/> choco install ptime

优点ptime是它像 unix 版本一样运行并产生控制台输出,它Measure-Command { XXX }没有(或者至少我不知道如何做到这一点)。