Windows 桌面图标布局备份
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c641d7bd/save-desktop-layout。
技能介绍
要解决什么问题
重装系统、换显示器或分辨率一变,Windows 桌面图标往往会回到默认网格位置。手动拖回去费时,而且自动排列(注册表里 FFLAGS 的 0x1 位)开着时,自定义坐标会被系统忽略。这个技能把「图标排布」当成可版本化的状态:备份一次,需要时用脚本恢复。
技能如何工作
核心数据在注册表 HKCU\Software\Microsoft\Windows\Shell\Bags\1\Desktop,其中 IconLayouts 二进制值记录每个图标的位置。流程大致是:
- 用 AskUserQuestion 让用户选备份目录(桌面、文档或自定义路径)。
- 通过独立的
.ps1脚本收集屏幕分辨率、图标大小等元数据——不要在经 bash 传递的内联 PowerShell 里写$_,否则会被吞掉。 - 用技能自带的导出逻辑(
reg.exe export)生成desktop_icon_layout.reg,并确认文件非空。 - 按模板生成
restore_desktop_layout.bat,调用restore_layout.ps1:解析.reg、强制结束 explorer(Stop-Process不够时用taskkill /f)、删除当前 Desktop bag 键、用Set-ItemProperty写回备份值(比单独reg.exe import稳),再重启资源管理器。 - 写入
backup_info.txt并校验备份目录内文件。
用户若要恢复,会在常见路径搜索备份并执行恢复脚本;布局仍不对时可建议注销再登录。
适用边界
- 仅 Windows 10/11;非 Windows 环境不适用。
- 恢复效果与备份时的分辨率越一致越好。
- 实测结论:仅
reg.exe import不可靠,因为 explorer 退出时可能把当前布局写回注册表,必须先杀进程再写入。
使用场景
- 重装 Windows 或换机前,把当前桌面每个图标位置导出为 .reg,装完系统后在同分辨率下用恢复 bat 写回
- 公司统一换显示器或改缩放后桌面图标挤成一团,需要从 Documents/DesktopLayoutBackup 一键恢复之前的 Shell Bags
- 帮同事做 PC 迁移时,把含 desktop_icon_layout.reg 的备份文件夹拷到新机器,以管理员身份运行 restore_desktop_layout.bat
- 长期关闭自动排列、桌面放满项目快捷方式,想在系统更新前做一次注册表快照以防布局被覆盖
适合人员
- 桌面常年堆满 repo/环境快捷方式,重装或换硬盘后不想逐个拖回图标的 Windows 开发或运维
- IT 桌面支持:用户换机、镜像还原或 profile 迁移后,需要按备份还原自定义图标排布的一线支持
- 笔记本与外接显示器之间频繁切换分辨率,希望在分辨率与备份一致时能快速恢复上次布局的工程师
- 自己维护 Windows 自动化脚本,接受用 reg 导出 + 杀 explorer 再 Set-ItemProperty 方式做桌面状态管理的高级用户