本文目录导读:

我来帮您创建一个自动切换电源模式并优化的脚本,以下是一个适用于Windows系统的PowerShell脚本:
自动电源模式切换优化脚本
基础版本 - PowerShell脚本
# PowerModeOptimizer.ps1
# 自动切换电源模式并优化脚本
# 获取当前电源方案
$currentPlan = powercfg /GETACTIVESCHEME
# 定义电源方案GUID
$powerPlans = @{
"高性能" = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"
"平衡" = "381b4222-f694-41f0-9685-ff5bb260df2f"
"节能" = "a1841308-3541-4fab-bc81-f71556f20b4a"
}
# 检测当前状态自动切换
function Auto-SwitchPowerMode {
param(
[string]$Mode = "auto"
)
switch ($Mode) {
"high" {
powercfg /SETACTIVE $powerPlans["高性能"]
Write-Host "已切换到高性能模式" -ForegroundColor Green
}
"balanced" {
powercfg /SETACTIVE $powerPlans["平衡"]
Write-Host "已切换到平衡模式" -ForegroundColor Yellow
}
"power-saver" {
powercfg /SETACTIVE $powerPlans["节能"]
Write-Host "已切换到节能模式" -ForegroundColor Cyan
}
"auto" {
# 智能检测逻辑
$batteryStatus = (Get-WmiObject Win32_Battery).BatteryStatus
$cpuUsage = (Get-Counter "\Processor(_Total)\% Processor Time").CounterSamples.CookedValue
if ($batteryStatus -eq 1) {
# 使用电池
if ($cpuUsage -gt 70) {
powercfg /SETACTIVE $powerPlans["平衡"]
Write-Host "电池模式,CPU高负载:切换到平衡模式" -ForegroundColor Yellow
} else {
powercfg /SETACTIVE $powerPlans["节能"]
Write-Host "电池模式,CPU低负载:切换到节能模式" -ForegroundColor Cyan
}
} else {
# 接通电源
if ($cpuUsage -gt 60) {
powercfg /SETACTIVE $powerPlans["高性能"]
Write-Host "电源模式,CPU高负载:切换到高性能模式" -ForegroundColor Green
} else {
powercfg /SETACTIVE $powerPlans["平衡"]
Write-Host "电源模式,CPU低负载:切换到平衡模式" -ForegroundColor Yellow
}
}
}
}
}
# 优化电源设置
function Optimize-PowerSettings {
Write-Host "正在优化电源设置..." -ForegroundColor Magenta
# 关闭快速启动
powercfg -H off
Write-Host "✓ 已关闭快速启动" -ForegroundColor Green
# 设置硬盘关闭时间
powercfg -CHANGE -disk-timeout-dc 30
powercfg -CHANGE -disk-timeout-ac 60
Write-Host "✓ 已优化硬盘关闭时间" -ForegroundColor Green
# 设置显示器关闭时间
powercfg -CHANGE -monitor-timeout-dc 10
powercfg -CHANGE -monitor-timeout-ac 20
Write-Host "✓ 已优化显示器关闭时间" -ForegroundColor Green
# 设置睡眠时间
powercfg -CHANGE -standby-timeout-dc 60
powercfg -CHANGE -standby-timeout-ac 120
Write-Host "✓ 已优化睡眠等待时间" -ForegroundColor Green
# 禁用USB选择性暂停
powercfg -SETACVALUEINDEX SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg -SETDCVALUEINDEX SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
Write-Host "✓ 已禁用USB选择性暂停" -ForegroundColor Green
return $true
}
# 主程序
function Main {
param(
[string]$Mode = "auto"
)
Clear-Host
Write-Host "===== 自动电源模式切换与优化工具 =====" -ForegroundColor White
Write-Host "版本 1.0`n" -ForegroundColor Gray
# 检测电源状态
$battery = Get-WmiObject Win32_Battery
if ($battery) {
$chargePercent = $battery.EstimatedChargeRemaining
Write-Host "[电源状态] 当前电量: $chargePercent%"
if ($battery.BatteryStatus -eq 1) {
Write-Host "[电源状态] 运行模式: 电池供电" -ForegroundColor Yellow
} else {
Write-Host "[电源状态] 运行模式: 接通电源" -ForegroundColor Green
}
} else {
Write-Host "[电源状态] 未检测到电池" -ForegroundColor Gray
}
# 获取CPU使用率
$cpuUsage = (Get-Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1).CounterSamples.CookedValue
Write-Host "[系统负载] CPU使用率: $([Math]::Round($cpuUsage, 1))%`n"
# 执行模式切换
Auto-SwitchPowerMode -Mode $Mode
# 执行优化
if (Optimize-PowerSettings) {
Write-Host "`n✓ 电源设置优化完成" -ForegroundColor Green
}
# 显示当前模式
Write-Host "`n当前活动电源方案:" -ForegroundColor White
powercfg /GETACTIVESCHEME | Select-String -Pattern "\(.*\)" | ForEach-Object {
$_.Matches[0].Value -replace '\(|\)'
}
}
# 运行主程序
Main -Mode $args[0]
高级版本 - 带GUI界面
# PowerModeGUI.ps1
# 图形界面版本
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = "电源模式优化工具"
$form.Size = New-Object System.Drawing.Size(400, 300)
$form.StartPosition = "CenterScreen"
# 创建标签
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10, 20)
$label.Size = New-Object System.Drawing.Size(380, 30)
$label.Text = "选择电源模式:"
$form.Controls.Add($label)
# 创建下拉菜单
$comboBox = New-Object System.Windows.Forms.ComboBox
$comboBox.Location = New-Object System.Drawing.Point(10, 50)
$comboBox.Size = New-Object System.Drawing.Size(260, 30)
$comboBox.Items.AddRange(@("自动切换", "高性能模式", "平衡模式", "节能模式"))
$comboBox.SelectedIndex = 0
$form.Controls.Add($comboBox)
# 创建按钮
$button = New-Object System.Windows.Forms.Button
$button.Location = New-Object System.Drawing.Point(280, 50)
$button.Size = New-Object System.Drawing.Size(100, 30)
$button.Text = "应用"
$form.Controls.Add($button)
# 创建状态文本框
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(10, 100)
$textBox.Size = New-Object System.Drawing.Size(370, 150)
$textBox.Multiline = $true
$textBox.ScrollBars = "Vertical"
$form.Controls.Add($textBox)
# 按钮事件
$button.Add_Click({
$textBox.Clear()
$textBox.AppendText("正在应用设置...`r`n")
switch ($comboBox.SelectedIndex) {
0 {
# 自动切换
# 实现自动检测逻辑
$textBox.AppendText("已选择自动切换模式`r`n")
}
1 {
powercfg /SETACTIVE "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"
$textBox.AppendText("已切换到高性能模式`r`n")
}
2 {
powercfg /SETACTIVE "381b4222-f694-41f0-9685-ff5bb260df2f"
$textBox.AppendText("已切换到平衡模式`r`n")
}
3 {
powercfg /SETACTIVE "a1841308-3541-4fab-bc81-f71556f20b4a"
$textBox.AppendText("已切换到节能模式`r`n")
}
}
# 显示当前状态
$currentPlan = powercfg /GETACTIVESCHEME
$textBox.AppendText("`r`n当前电源方案: $currentPlan")
$textBox.AppendText("`r`n优化完成!")
})
$form.ShowDialog()
计划任务脚本(自动化运行)
# 创建计划任务 - 每30分钟自动切换 $taskName = "AutoPowerModeOptimizer" # 创建任务 $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-WindowStyle Hidden -File `"C:\Scripts\PowerModeOptimizer.ps1`" -Mode auto" $trigger = New-ScheduledTaskTrigger -Daily -At "08:00" -RepetitionInterval (New-TimeSpan -Minutes 30) -RepetitionDuration ([TimeSpan]::MaxValue) $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Settings $settings -User "SYSTEM" Write-Host "计划任务已创建: $taskName" -ForegroundColor Green
使用说明
基本使用
-
手动运行脚本
# 以管理员身份运行 .\PowerModeOptimizer.ps1 auto # 或指定模式 .\PowerModeOptimizer.ps1 high
-
自动优化
- 脚本会自动检测电源状态(电池/电源)和CPU负载
- 根据当前状态智能切换最佳电源模式
-
计划任务
可以使用提供的计划任务脚本实现定时自动切换
✅ 关闭快速启动
✅ 优化硬盘关闭时间
✅ 优化显示器关闭时间
✅ 优化睡眠设置
✅ 禁用USB选择性暂停
✅ 智能CPU负载检测
注意事项
⚠️ 需要管理员权限运行
⚠️ 建议先测试不同场景下的表现
⚠️ 可根据需求调整GUID和优化参数
这个脚本可以根据您的具体需求进行定制和优化,如需特定功能可以进一步调整。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播