有没有办法通过像我这样的powershell脚本来减少CPU使用量



我写了一个PowerSehll脚本,它读取一个ini文件,并在无限循环中创建一个具有我的数据所需语法的新文件。它看起来像这样:

for(;;) {
$fileToCheck = "C:testtest.ini"
if (Test-Path $fileToCheck -PathType leaf)
{
$ini = Get-Content -Path C:testtest.ini
$out = "[Event]`nTop = DISPLAY`n[Display_00000]`nDisplay=" + $ini
Add-Content -Path C:testexit.txt -Value $out
Remove-Item C:testhallo.ini
}
}

我不知道这是否是最好的方法,但它必须是一个powershell脚本。如果它通过启动计算机的任务调度程序启动,我可以在任务管理器中看到它占用了30%以上的CPU使用率。

这对这样的剧本来说正常吗?有没有办法减少CPU使用量?

您在无限循环中读取和写入文件,没有任何延迟,因此脚本在一个时间单位内执行尽可能多的这些操作。

如果你想监控一个文件的更改,你可以玩这样的东西:

Get-Content C:TMPin.txt -Wait | Add-Content c:tmpout.txt -Force -PassThru

-Wait使Get-Content保持文件打开,并将任何新行输出到管道。它每秒都会检查更改,所以cpu使用率会很低。-PassThru将行输出到控制台,因此它对测试很有用,您可以稍后删除它。

最新更新