新建文件night_mode.bat,写入以下内容:

1
2
reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f
reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f

运行即可切换到深色模式。

新建文件day_mode.bat,写入以下内容:

1
2
reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 1 /f
reg.exe add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f

运行即可切换到浅色模式。

说明:

SystemUsesLightTheme这个值为系统颜色模式,AppsUseLightTheme这个值为应用颜色模式,REG_DWORD1代表浅色,0代表深色。

我们可以加入一条判断,合并成一个文件,当处于深色(浅色)模式时,运行后切换到浅色(深色)模式。

1
2
3
4
5
6
7
8
9
10
11
@echo off
setlocal
for /f "usebackq tokens=3" %%a in (`reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v SystemUsesLightTheme`) do set "currentValue=%%a"
if "%currentValue%"=="0x0" (
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 1 /f
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f
) else (
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f
)
endlocal

当然,你也可以实现更丰富的玩法:利用Windows的计划任务,在指定时间运行脚本,实现定时切换深色/浅色模式的效果。