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)
小智 22
我正在使用 Win XP,出于某种原因,timeit.exe对我不起作用。我找到了另一种选择 ptime:
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 实例会对性能造成很小的影响,尽管非常小。
小智 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)
没有与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 }没有(或者至少我不知道如何做到这一点)。
| 归档时间: |
|
| 查看次数: |
94051 次 |
| 最近记录: |