如何确定程序访问/修改文件的持续时间?

如何确定程序访问/修改文件的持续时间?

我想测量实用程序对盒子执行加密的速度Windows 10。由于实用程序本身没有其他方法可以做到这一点,我想知道我是否可以使用 I/O 访问监控来确定实用程序加密某个文件所花的时间。直观地说,它对文件的“锁定”时间越长,加密所需的时间就越长。我在互联网上搜索了很多关于如何做到这一点的信息,但找不到哪怕是一点点相关的答案。

是否可以监视某个进程对某个文件持有“写锁”或访问该文件的时间?如果可以,能否提供一个例子?也许可以编写一个powershell脚本来执行此操作?

答案1

你要求人们为你从头开始写东西。这实际上不是这些问答论坛的用途。

规则是您必须展示您已尝试过的努力、您搜索过的地方、展示您的代码以及您遇到的任何错误。

测量代码执行时间并非 PowerShell 独有,所有语言中都已进行多年测量。至于 PowerShell,测量代码执行时间是一项有据可查的工作,在网上随处可见。只需搜索即可。内置帮助文件中也有几个示例。

‘powershell 计时器对象’

'powershell 命令运行多长时间'

简述:最后一个命令花了多长时间?

无论如何,只需编写脚本以使用计时器即可。在代码开始时启动计时器,检查是否完成,结束计时器...

在 PowerShell 中使用秒表

Start-Process -FilePath 'C:\Windows\System32\calc.exe'
Start-Sleep -Seconds 5

do
{
    Write-Output -InputObject 'Checking if calculator is running...'
    $calcProcess = Get-Process -Name Calculator -ErrorAction SilentlyContinue
    if ($calcProcess)
    {
        Write-Output -InputObject ('Calculator is running, PID {0}' -f $calcProcess.Id)
    }
    Start-Sleep -Seconds 5
}
until (-not $calcProcess)

或使用 ...

Measure-Command

或者

New-TimeSpan

例子):

Powershell:使用 Measure-Command 测量 Cmdlet 执行时间

Measure-Command {Get-Process}
New-TimeSpan -Start (get-process notepad).StartTime

相关内容