本文目录导读:

# 电源模式切换脚本
# 需以管理员权限运行
# 配置参数
$切换时间 = "23:00" # 24小时制时间(时:分)
$目标模式 = "powersave" # 可选:balanced / highperformance / powersave
$日志路径 = "C:\PowerSwitcher\switch_log.txt"
# 确保日志目录存在
$日志目录 = Split-Path $日志路径 -Parent
if (-not (Test-Path $日志目录)) {
New-Item -ItemType Directory -Path $日志目录 -Force
}
# 记录日志函数
function Write-Log {
param($Message)
$日志时间 = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"$日志时间 - $Message" | Out-File -FilePath $日志路径 -Append -Encoding UTF8
Write-Host "$日志时间 - $Message"
}
# 设置电源模式函数
function Set-PowerMode {
param([string]$Mode)
try {
switch ($Mode) {
"balanced" {
powercfg /setactive 381b4222-f694-41f0-9685-ff5bb260df2e
}
"highperformance" {
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
}
"powersave" {
powercfg /setactive a1841308-3541-4fab-bc81-f71556f20b4a
}
default {
throw "不支持的电源模式: $Mode"
}
}
Write-Log "电源模式已切换到: $Mode"
return $true
}
catch {
Write-Log "切换失败: $($_.Exception.Message)"
return $false
}
}
# 主循环
Write-Log "电源模式切换服务启动"
Write-Log "目标时间: $切换时间, 目标模式: $目标模式"
while ($true) {
$当前时间 = Get-Date
$目标时间对象 = Get-Date -Hour ($切换时间 -split ":")[0] -Minute ($切换时间 -split ":")[1] -Second 0
# 如果目标时间已过,设置到第二天
if ($当前时间 -gt $目标时间对象) {
$目标时间对象 = $目标时间对象.AddDays(1)
}
$等待时间 = ($目标时间对象 - $当前时间).TotalSeconds
if ($等待时间 -gt 0) {
Write-Log "距离下次切换还有 $([math]::Round($等待时间/60,1)) 分钟"
Start-Sleep -Seconds $等待时间
Set-PowerMode -Mode $目标模式
}
# 等待1分钟避免重复触发
Start-Sleep -Seconds 60
}
使用说明:
保存脚本保存为 PowerSwitcher.ps1
修改配置
根据需要修改脚本头部的配置参数:
$切换时间- 切换时间(24小时制)$目标模式- 电源模式(balanced/highperformance/powersave)$日志路径- 日志文件保存位置
运行脚本
需要以管理员权限运行!
# 方法1:右键点击脚本文件 -> "使用 PowerShell 运行" # 方法2:在管理员 PowerShell 中执行 .\PowerSwitcher.ps1
设置开机自启(可选)
将脚本添加到任务计划程序:
# 创建计划任务(管理员权限) $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"C:\PowerSwitcher.ps1`"" $trigger = New-ScheduledTaskTrigger -AtStartup $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest Register-ScheduledTask -TaskName "PowerModeSwitcher" -Action $action -Trigger $trigger -Principal $principal
日志示例:
2024-01-15 22:00:00 - 电源模式切换服务启动
2024-01-15 22:00:00 - 目标时间: 23:00, 目标模式: powersave
2024-01-15 22:00:00 - 距离下次切换还有 60.0 分钟
2024-01-15 23:00:00 - 电源模式已切换到: powersave
注意事项:
- 必须管理员权限:修改电源方案需要管理员权限
- 持续运行:脚本会持续运行在后台,关闭窗口即停止
- 时间格式:使用24小时制(如 "23:00")
- 电源方案GUID:
- 平衡: 381b4222-f694-41f0-9685-ff5bb260df2e
- 高性能: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
- 节能: a1841308-3541-4fab-bc81-f71556f20b4a
Linux系统版本(如果需要):
#!/bin/bash
# 配置
TARGET_TIME="23:00"
TARGET_MODE="powersave"
LOG_FILE="/var/log/power_switch.log"
# 日志函数
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
# 设置电源模式
set_power_mode() {
case $1 in
"balanced")
cpupower frequency-set -g ondemand
;;
"highperformance")
cpupower frequency-set -g performance
;;
"powersave")
cpupower frequency-set -g powersave
;;
*)
log "不支持的电源模式: $1"
return 1
;;
esac
log "电源模式已切换到: $1"
}
log "电源模式切换服务启动"
log "目标时间: $TARGET_TIME, 目标模式: $TARGET_MODE"
while true; do
CURRENT_TIME=$(date +%H:%M)
if [ "$CURRENT_TIME" == "$TARGET_TIME" ]; then
set_power_mode "$TARGET_MODE"
sleep 60
fi
sleep 30
done
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播