如何通过脚本自动完成浮动工位的多显示器配置?
如何通过脚本自动完成浮动工位的多显示器配置?
太懂这种每天换工位重复调显示器的痛苦了!400个浮动工位天天换,手动点来点去确实烦,我来给你几个靠谱的自动化方案,亲测好用:
方案一:PowerShell + 轻量命令行工具(最稳定)
DisplaySwitch.exe只能搞定扩展显示这一步,要完成剩下的主显示器设置和位置对齐,推荐搭配nircmd这个轻量本地工具(不用安装,下载后直接用,完全离线)。
步骤1:准备nircmd
你可以直接搜索下载这个小工具,解压后把nircmd.exe放到容易找到的地方(比如和脚本放在同一文件夹)。
步骤2:写批处理脚本
新建一个文本文件,把下面内容粘贴进去,然后改后缀为.bat,根据你的实际分辨率和显示器编号调整参数:
@echo off :: 第一步:切换到扩展显示模式 DisplaySwitch.exe /extend :: 给系统一点时间加载配置 timeout /t 2 /nobreak >nul :: 第二步:设置外接显示器为主屏(monitor-2是外接显示器编号,需要自己确认) nircmd.exe setdisplay monitor-2 1920 1080 32 primary :: 第三步:调整笔记本屏幕位置到左边,底部对齐 :: 这里假设笔记本分辨率是1366x768,外接是1920x1080,Y轴偏移量=1080-768=312 nircmd.exe setdisplay monitor-1 1366 768 32 left 0 312
怎么确认显示器编号?
打开命令提示符,运行nircmd.exe enumdisplays,会列出所有显示器的编号、分辨率等信息,你就能分清哪个是笔记本屏幕(monitor-1),哪个是外接显示器(monitor-2)了。
方案二:纯PowerShell脚本(无需额外工具)
如果你不想用第三方工具,也可以用PowerShell调用Windows原生API来实现,这里分享一个更省心的技巧:
先手动设置好一次完美的显示器布局,然后打开PowerShell运行这条命令导出配置:
displayconfig /export c:\display-settings.xml
之后写一个简单的脚本一键导入配置:
# 切换到扩展显示模式 & DisplaySwitch.exe /extend Start-Sleep -Seconds 2 # 导入之前保存的完美配置 displayconfig /import c:\display-settings.xml
这个方法不用动态计算参数,完全还原你手动设置的布局,稳定性拉满!
方案三:AutoHotkey模拟操作(适合界面党)
如果你喜欢用模拟点击的方式,AutoHotkey脚本可以帮你自动操作显示设置界面,但缺点是如果系统更新导致界面布局变化,脚本可能失效:
; 打开Windows显示设置 Run, ms-settings:display WinWait, Settings Sleep, 1000 ; 切换到扩展显示模式 Send, {Tab 3} Send, {Down 2} Send, {Enter} Sleep, 1000 ; 设置外接显示器为主屏 Send, {Tab 5} Send, {Down} Sleep, 500 Send, {Tab 2} Send, {Space} Sleep, 500 ; 模拟拖动笔记本屏幕到左边底部对齐(需根据你的屏幕位置调整鼠标坐标) Send, {Tab} Sleep, 500 MouseClick, Left, 100, 500, 2 ; 按住鼠标拖动 MouseMove, -1366, 312, 100 MouseClick, Left
推荐用法
我个人最推荐方案一的批处理脚本,把它放到桌面,每天到工位双击一下,10秒内搞定所有配置,再也不用手动点显示设置了!
备注:内容来源于stack exchange,提问作者ElRudi




