gpt4 book ai didi

windows - 在Windows提示符下计时每个命令

转载 作者:行者123 更新时间:2023-12-03 01:28:27 25 4
gpt4 key购买 nike

我希望窗口显示我从提示符处运行的每个命令显示的时间。我不在乎它是cmd.exe还是powershell。这可能吗?

我已经在linux和macos机器上设置了类似的设置,当我运行一个特别慢的命令向队友显示它有多慢时,这很有用。 (一次提交需要一个小时?这是证明!)

我已经找到用于powershell的measure-command命令行开关,但是我对Windows不够熟悉,无法知道是否有某种方法可以在每个命令上自动运行它。

最佳答案

实际上不可能操纵cmd本身。但是,人们可以做一些愚蠢的事情。这是一个简单的示例,使用batch-file创建伪造的cmd提示符,但需要使用PowerShell。它仅以秒为单位进行演示,而不是毫秒,但是也可以更改为以毫秒为单位。显然也有解决方法。

@echo off
:myprompt
set mycmd=
set /p "mycmd=prompt: "
for /f "delims=," %%i in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"') do set start=%%I
if "%mycmd:~-4%" == ".cmd" set "mycmd=call %mycmd%"
if "%mycmd:~-4%" == ".bat" set "mycmd=call %mycmd%"
%mycmd%
for /f "delims=," %%a in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"') do set end=%%a
set /a result=%end%-%start%
echo [%result% secs][%time%]
goto :myprompt

确实不能精确到毫秒,但我只是证明了一点。

这是一个包括毫秒的示例,绕过了32位精度限制。
@echo off
:myprompt
set mycmd=
set /p "mycmd=prompt: "
for /f "delims=," %%i in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"') do set start=%%i
for /f "delims=," %%i in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalMilliSeconds"') do set mstart=%%I
if "%mycmd:~-4%" == ".cmd" set "mycmd=call %mycmd%"
if "%mycmd:~-4%" == ".bat" set "mycmd=call %mycmd%"
%mycmd%
for /f "delims=," %%a in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"') do set end=%%a
for /f "delims=," %%a in ('powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalMilliSeconds"') do set mend=%%a
set /a sres=%end%-%start%
set /a mres=%mend:~-5%-%mstart:~-5%%
echo [%sres%s%mres%][%time%]
goto :myprompt

最后说明!这纯粹是出于演示目的,绝不是要成为实际的准确解决方案。如果有时间,我可以采用该脚本并对其进行改进,并减少 powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalMilliseconds循环的使用。

真正的缺点是您每次需要启动批处理文件以按提示使用,而不是 for本身。

关于windows - 在Windows提示符下计时每个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60329656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com