求可获取Windows 11多显示器幻灯片壁纸路径的PowerShell脚本
获取Windows 11多显示器当前桌面壁纸路径的PowerShell脚本
以下脚本可直接获取Windows 11 23H2中每台显示器当前桌面壁纸的原始文件路径,满足多显示器场景需求:
# 定位到存储多显示器壁纸配置的注册表路径 $wallpaperRegistryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers" # 筛选出所有对应显示器的壁纸配置项 $monitorWallpaperEntries = Get-ChildItem -Path $wallpaperRegistryPath | Where-Object { $_.PSChildName -match "^Monitor\d+$" } # 遍历每个显示器配置项,提取并解码原始壁纸路径 foreach ($entry in $monitorWallpaperEntries) { $monitorId = $entry.PSChildName -replace "Monitor", "" $rawPath = Get-ItemProperty -Path $entry.PSPath -Name "OriginalImagePath" -ErrorAction SilentlyContinue | Select-Object -ExpandProperty OriginalImagePath -ErrorAction SilentlyContinue if ($rawPath) { # 解码URL编码的路径,还原真实文件路径 $decodedFilePath = [System.Uri]::UnescapeDataString($rawPath) Write-Host "显示器 $monitorId 当前壁纸路径:$decodedFilePath" } else { Write-Host "显示器 $monitorId 未找到有效壁纸路径(可能使用主显示器同步壁纸)" } }
工作原理
Windows 11会将每台显示器的壁纸配置存储在当前用户注册表的HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers路径下,每个显示器对应一个MonitorN格式的子项(N为显示器索引,从0开始)。子项中的OriginalImagePath字段存储了壁纸的原始文件路径,部分场景下路径会被URL编码,脚本通过.NET的Uri.UnescapeDataString方法还原真实路径。
使用说明
- 打开PowerShell(无需管理员权限),直接复制粘贴上述脚本执行即可。
- 如果刚切换幻灯片壁纸,建议等待1-2秒再执行脚本,确保注册表配置同步完成。
- 若某台显示器显示"未找到有效壁纸路径",通常表示该显示器设置为跟随主显示器的壁纸,而非独立配置。
内容的提问来源于stack exchange,提问作者FusRoTim
相关产品推荐
相关产品推荐

