本文目录导读:

Windows 系统
PowerShell 脚本
# 获取当前亮度
$monitor = Get-WmiObject -Namespace root/wmi -Class WmiMonitorBrightness
$current = $monitor.CurrentBrightness
# 设置亮度(0-100)
$targetBrightness = 50 # 修改这个值
$monitor.SetBrightness(1, $targetBrightness)
# 或使用快捷切换:在50%和100%之间切换
if ($current -gt 50) {
$monitor.SetBrightness(1, 30)
} else {
$monitor.SetBrightness(1, 100)
}
使用第三方工具 (nirsoft)
:: 下载 nircmd.exe :: 设置亮度为50% nircmd.exe setbrightness 50 :: 增加亮度 20% nircmd.exe changebrightness 20 :: 降低亮度 20% nircmd.exe changebrightness -20
macOS 系统
AppleScript
-- 设置亮度为50%
tell application "System Events"
repeat 10 times
key code 107 -- 降低亮度键
end repeat
end tell
-- 或使用精确值(需要系统偏好设置权限)
do shell script "brightness 0.5"
使用 brightness 工具
# 安装 brightness brew install brightness # 设置亮度为50% brightness 0.5 # 获取当前亮度 brightness -l
Linux 系统
xrandr 方法
#!/bin/bash # 设置亮度为0.5(50%) xrandr --output eDP-1 --brightness 0.5 # 获取当前亮度 xrandr --verbose | grep -i brightness
通过 sysfs
#!/bin/bash # 设置亮度(数值范围取决于硬件) echo 5000 > /sys/class/backlight/intel_backlight/brightness # 获取最大亮度 cat /sys/class/backlight/intel_backlight/max_brightness # 设置50%亮度 MAX=$(cat /sys/class/backlight/intel_backlight/max_brightness) echo $((MAX / 2)) > /sys/class/backlight/intel_backlight/brightness
快捷切换脚本示例
通用的批处理脚本 (Windows)
@echo off
:: 亮度切换脚本 - 在25%, 50%, 75%, 100%之间循环
setlocal enabledelayedexpansion
:: 获取当前亮度(需要第三方工具)
for /f "tokens=2 delims==" %%a in ('wmic path Win32_Monitor where "MonitorType='LCD'" get CurrentBrightness /format:value') do set current=%%a
:: 循环切换
if %current% leq 25 (
nircmd.exe setbrightness 50
) else if %current% leq 50 (
nircmd.exe setbrightness 75
) else if %current% leq 75 (
nircmd.exe setbrightness 100
) else (
nircmd.exe setbrightness 25
)
Bash 脚本 (Linux)
#!/bin/bash
# 亮度切换脚本
BRIGHTNESS_FILE="/sys/class/backlight/intel_backlight/brightness"
MAX_BRIGHTNESS=$(cat /sys/class/backlight/intel_backlight/max_brightness)
CURRENT=$(cat $BRIGHTNESS_FILE)
# 定义亮度级别
LEVELS=(0 25 50 75 100)
CURRENT_PERCENT=$((CURRENT * 100 / MAX_BRIGHTNESS))
# 查找当前级别
for i in "${!LEVELS[@]}"; do
if [ "${LEVELS[$i]}" -gt "$CURRENT_PERCENT" ]; then
NEXT=${LEVELS[$i]}
break
fi
done
# 如果没找到,回到最低
if [ -z "$NEXT" ]; then
NEXT=25
fi
# 设置亮度
echo $((MAX_BRIGHTNESS * NEXT / 100)) > $BRIGHTNESS_FILE
echo "亮度已设为 $NEXT%"
使用建议
- 创建快捷键:将脚本绑定到系统快捷键
- 按时间段切换:配合定时任务(cron/task scheduler)
- 考虑环境光:如果是笔记本,也可使用内置光传感器
- 注意权限:某些系统需要管理员/root权限
需要哪种具体实现?我可以为你提供更详细的版本。