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秒检查一次
}
使用说明:
-
设置电源计划:
- 将
$highPerformancePlan
替换为高性能电源计划的 GUID。可以通过运行powercfg /list
获取。
- 将
-
运行脚本:
- 将脚本保存为
.ps1
文件。 - 以管理员身份运行 PowerShell,并执行该脚本。
- 将脚本保存为