Windows 11 中如何管控程序安装与更新时的桌面快捷方式创建行为
Windows 11 中如何管控程序安装与更新时的桌面快捷方式创建行为
哥们,我太懂你这种需求了——新安装的程序要个桌面快捷方式方便找,可老程序更新时动不动就往桌面塞重复的快捷方式,真的是越堆越乱!下面给你几个针对性的方案,按需挑:
一、精准区分:允许新安装程序创建桌面快捷方式,阻止更新产生的快捷方式
Windows本身没有原生的「区分安装/更新」快捷方式管控机制,咱们得靠点小工具或脚本实现,这里给你个最实用的方案:
PowerShell脚本+任务计划监控方案
思路是:监控桌面新出现的快捷方式,判断它指向的程序是否是「旧程序」(比如创建时间超过7天,就判定是更新产生的),如果是就自动移到收纳文件夹里。
给你写个现成的脚本,直接用就行:
# 配置参数:桌面路径和收纳文件夹 $desktopPath = [Environment]::GetFolderPath("Desktop") $targetFolder = Join-Path $desktopPath "更新快捷方式收纳盒" # 如果收纳文件夹不存在就创建 if (-not (Test-Path $targetFolder)) { New-Item -ItemType Directory -Path $targetFolder | Out-Null } # 获取桌面根目录的所有快捷方式(排除子文件夹里的) $shortcuts = Get-ChildItem -Path $desktopPath -Filter "*.lnk" | Where-Object { $_.DirectoryName -eq $desktopPath } foreach ($shortcut in $shortcuts) { # 获取快捷方式指向的目标程序路径 $shell = New-Object -ComObject WScript.Shell $targetProgram = $shell.CreateShortcut($shortcut.FullName).TargetPath # 确保目标程序存在 if ($targetProgram -and (Test-Path $targetProgram)) { $programCreatedDate = (Get-Item $targetProgram).CreationTime # 设定阈值:程序创建超过7天,就判定是更新产生的快捷方式 if ((Get-Date) - $programCreatedDate -gt (New-TimeSpan -Days 7)) { # 移动到收纳盒(也可以改成Remove-Item直接删除) Move-Item -Path $shortcut.FullName -Destination $targetFolder -Force } } }
使用步骤:
- 把这段代码复制到记事本,保存为
CleanUpdateShortcuts.ps1(注意保存类型选「所有文件」) - 打开「任务计划程序」,创建新任务:
- 触发器选「每隔10分钟」(实时监控)或「当用户登录时」
- 操作选「启动程序」,程序/脚本填
powershell.exe,添加参数填-ExecutionPolicy Bypass -File "你的脚本保存路径\CleanUpdateShortcuts.ps1"
- 保存任务,以后它就会自动帮你清理更新产生的多余快捷方式了
二、简单粗暴:完全禁用所有程序创建桌面快捷方式
如果你觉得偶尔手动找程序也能接受,或者想彻底杜绝桌面乱序,可以直接禁用所有程序的桌面快捷方式创建权限:
方法1:组策略(专业版/企业版可用)
- 按下
Win+R,输入gpedit.msc回车打开组策略编辑器 - 导航到:用户配置 > 管理模板 > Windows组件 > 文件资源管理器
- 找到并双击「阻止将快捷方式添加到桌面」,选择「已启用」,点击确定即可
方法2:注册表(家庭版可用)
- 按下
Win+R,输入regedit回车打开注册表编辑器 - 定位到路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer - 右键空白处,新建「DWORD(32位)值」,命名为
NoDesktopShortcuts - 双击这个值,把数值数据改成
1,点击确定,重启电脑生效
三、折中方案:重定向所有快捷方式到桌面指定文件夹
不想禁用也不想清理,想把所有快捷方式统一收纳到桌面的一个文件夹里?可以这么做:
- 在桌面创建一个文件夹,比如叫「所有程序快捷方式」
- 修改上面的PowerShell脚本,去掉「程序创建时间判断」的逻辑,直接把所有桌面根目录的
.lnk文件移动到这个文件夹里 - 可以把这个文件夹固定到任务栏,找程序一样方便
备注:内容来源于stack exchange,提问作者empleat




