Powershell, используя файл $ profile , я хочу узнать, сколько времени я трачу на powershell каждый раз, когда это происходит, распечатать его в файл.
, например
24.11.2018, 13:41 - 1 hour 23 minute 12 second
11.11.2018, 13:41 - 2 hour 3 minute 2 second
11.11.2018, 13:41 - 1 hour 43 minute 42 second
...
...
Содержимое файла с именем ps_time_history.txt показано выше.Я включил экран powershell 3 раза, и он показывает, как долго он работает.
Я написал скрипт, как показано ниже, но не могу получить решение, как хочу.
Я написал скрипт в файл $ profile , как показано ниже, но я не могу найти решение так, как я хочу.
Start-Job -scriptblock
{
$StopWatch = New-Object -TypeName System.Diagnostics.Stopwatch
$StopWatch.Start();
$date=((Get-Process -Name powershell | Sort-Object StartTime | where { $_ }).StartTime | Select -Last 1);
$id=((Get-Process -Name powershell | Sort-Object StartTime | where { $_ }).id | select -Last 1 );
while ($StopWatch.IsRunning)
{
Start-Sleep -Seconds 1
if((Get-Process -id $id -ErrorAction SilentlyContinue))
{
$time=[string]$StopWatch.Elapsed.Hours+":"+[string]$StopWatch.Elapsed.Minutes+":"+[string]$StopWatch.Elapsed.Seconds;
echo ([string]$date+" - "+$time) >> ~\Desktop\ps_time_history.txt;
}
else
{
$StopWatch.Stop();
}
}
}
Я получил дату и идентификационный номернедавно открытое приложение powershell.Таймер работает, пока включен экран powershell.Таймер должен останавливаться при выключении экрана powershell.
Сценарий, который я пишу, выполняет файл ps_time_history.txt каждую секунду.Но я этого не хочу.Пусть Пауэршелл запишет, сколько времени я потратил на его закрытие.
11/29/2018 02:23:17 - 0: 0: 1
11/29/2018 02:23:17 - 0: 0: 2
11/29/2018 02:23:17 - 0: 0: 3
11/29/2018 02:23:17 - 0: 0: 4
11/29/2018 02:23:17 - 0: 0: 5
11/29/2018 02:23:17 - 0: 0: 6
11/29/2018 02:23:17 - 0: 0: 7
11/29/2018 02:23:17 - 0: 0: 8
11/29/2018 02:23:17 - 0: 0: 9
11/29/2018 02:23:17 - 0: 0: 10
11/29/2018 02:23:17 - 0: 0: 11
11/29/2018 02:23:17 - 0: 0: 12
11/29/2018 02:23:17 - 0: 0: 13
Эта проблема кажется немного сложной.Как я могу решить эту проблему или есть более короткий путь?