Вот мучился как сделать подсчёт времени для компиляции своего проекта, кому интересно выкладываю.
На компе нужно установить разрешение для работы PowerShell.
Путь запуска C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Далее запустить PowerShell от администратора и написать команду:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Ответить - Y
Содержимое файла
1compile_time.ps1:
## Задание нормальной кодировки консоли
## (не работает?)
# [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("Windows-1251")
function Write-Pretty-TimeSpan {
param (
$TimeSpan
)
Write-Output (-join("Компиляция была завершена за ", $TimeSpan.ToString('hh\:mm\:ss\.ffff')))
}
$processor = Get-WMIObject win32_Processor | Select-Object Name | ForEach-Object {$_.Name}
$os = Get-WmiObject Win32_OperatingSystem | Select-Object Caption | ForEach-Object {$_.Caption}
#Get-WmiObject Win32_OperatingSystem | select -Property *
$timespan = Measure-Command { Start-Process -Wait "cmd.exe" "/c 1myProject.bat" }
Write-Output "Процессор: $processor"
Write-Output "Операционная система: $os"
Write-Pretty-TimeSpan($timespan)
write-host "------- Нажмите любую клавишу для продолжения -------"
[void][System.Console]::ReadKey($true)
Содержимое файла
1myProject.bat:
hbmk2 /n МойПроект.hbp
Далее запускаем "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" 1compile_time.ps1
Выдаст время компиляции вашего проекта:
Процессор: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
Операционная система: Майкрософт Windows 8.1 Профессиональная
Компиляция была завершена за 00:03:15.2904
------- Нажмите любую клавишу для продолжения -------