如何在电源外壳中输出过程时间跨度

时间:2016-02-04 01:21:11

标签: powershell

我希望能够在关闭之前输出进程运行的时间。我试图尝试Where_Object {$_.},但没有任何与时间相关的信息输出过程运行了多长时间。我在看CPU(s) - 该进程在所有处理器上使用的处理器时间量,以秒为单位。我认为这可以解决我的问题,但它不能输出多长时间该应用程序正在运行。我想要完成的一个例子就是"如果你想知道你今天使用谷歌浏览器的秒数。"这是我尝试过的。

 $getchrometime = Get-Process -name chrome| Where-Object {$_.CPU}
    Write-output $getchrometime| Format-Table -AutoSize

当我在ISE中使用Format-Table -AutoSize时,表格没有设置在它的值之上。

http://i.stack.imgur.com/qEp9Y.png

1 个答案:

答案 0 :(得分:1)

获取所有starttime进程的chrome.exe(可能有很多)

$chrome = Get-Process -Name chrome | select -ExpandProperty starttime

通过从starttime中减去currenttime来计算运行时间。

$chrome | New-TimeSpan | Select -Expand TotalSeconds

这里的变化略好一些

$Chrome = Get-Process -Name chrome
$Chrome |  
    ForEach-Object {
    $_ | Add-Member NoteProperty -Name RunningTime -Value (New-TimeSpan -Start $_.StartTime).TotalSeconds

   }

$Chrome | Select-Object Name,ID,RunningTime