PowerShell 脚本示例,用于监控指定的进程,并在它们运行时切换电源计划为高性能,进程结束后再切换回原来的电源计划:

PowerShell 脚本示例,用于监控指定的进程,并在它们运行时切换电源计划为高性能,进程结束后再切换回原来的电源计划:

powershellCopy Code
# 定义要监控的进程和电源计划
$processesToMonitor = @("Minecraft.exe", "Minecraft.exeAddRemove")
$highPerformancePlan = "GUID或高性能电源计划"  # 请替换为高性能电源计划的GUID
$originalPlan = (powercfg /getactivescheme).Split()[3]  # 获取当前活动电源计划的GUID

# 函数:检查进程是否在运行
function Is-ProcessRunning {
    param (
        [string]$processName
    )
    return Get-Process -Name $processName -ErrorAction SilentlyContinue
}

# 主循环
while ($true) {
    $isAnyProcessRunning = $false

    foreach ($process in $processesToMonitor) {
        if (Is-ProcessRunning -processName $process) {
            $isAnyProcessRunning = $true
            break
        }
    }

    if ($isAnyProcessRunning) {
        # 如果检测到进程运行,切换到高性能电源计划
        powercfg /setactive $highPerformancePlan
        Write-Host "检测到进程运行,已切换到高性能电源计划。"
        
        # 等待进程结束
        while ($isAnyProcessRunning) {
            Start-Sleep -Seconds 5
            $isAnyProcessRunning = $false
            foreach ($process in $processesToMonitor) {
                if (Is-ProcessRunning -processName $process) {
                    $isAnyProcessRunning = $true
                    break
                }
            }
        }

        # 进程结束后切换回原电源计划
        powercfg /setactive $originalPlan
        Write-Host "进程已结束,已切换回原电源计划。"
    }

    Start-Sleep -Seconds 10  # 每10秒检查一次
}

使用说明:

  1. 设置电源计划

    • 将 $highPerformancePlan 替换为高性能电源计划的 GUID。可以通过运行 powercfg /list 获取。
  2. 运行脚本

    • 将脚本保存为 .ps1 文件。
    • 以管理员身份运行 PowerShell,并执行该脚本。

 

posted @ 2024-09-23 16:58  suv789  阅读(58)  评论(0)    收藏  举报