我想使用批处理文件添加\删除系统快捷方式,例如“此电脑”和“回收站”。可以吗?(Windows 8/8.1/10)
我试过此链接无济于事。
这里的目标是用另一个具有相同名称并链接到其他地方的图标替换该图标。我想在单台机器上自动在 PC 启动时执行此操作。由于公司利益,我无法提供更多详细信息。
答案1
您需要使用注册表中的一个密钥。
这是一个批处理文件,它将完全按照您的要求执行。
您(当然)需要修改逻辑以使其成为您自己的逻辑。:-)
@echo off
Set KeyToSet=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel\
Set ThisPCGuid={20D04FE0-3AEA-1069-A2D8-08002B30309D}
Set RecycleBinGuid={645FF040-5081-101B-9F08-00AA002F954E}
:: 0 for hide and 1 for show
Set HideIconValue=0
Set ShowIconValue=1
REG ADD %KeyToSet% /v %ThisPCGuid% /t REG_DWORD /d %ShowIconValue% /f
REG ADD %KeyToSet% /v %RecycleBinGuid% /t REG_DWORD /d %ShowIconValue% /f
如果有人好奇,我使用 sysinternals 进程监视器来找出使用 GUI 启用/禁用时哪个键受到了影响。
sysinternals 进程监视器在尝试确定要使用什么过滤器时可能会令人沮丧,因为没有人能够获取此任务所需的所有信息。
- 从一个新的过滤器列表开始(过滤器列表有默认值)。
- 开始消除/排除您知道不是您要查找的内容,例如 ctfmon.exe、MsMpEng.exe、SearchIndexer.exe、services.exe、outlook.exe、dwm.exe、taskhostw.exe、lsass.exe 等。最好保存此基本列表以备下次使用。不要排除 explorer.exe、rundll32.exe 或任何可能需要处理设置的内容。
- 由于我们正在寻找注册表项,因此请添加过滤器“操作,以 Reg 开头”...这将清除除注册表读取和写入之外的所有内容。
- 由于我们正在寻找用户设置,因此包括“路径,以 HKCU 开头”
- 因为我们知道我们正在寻找成功,所以右键单击任何成功条目并包含“成功”。
- 现在,打开 GUI,它允许您切换桌面上的图标。您可能会立即看到该条目……但如果没有,请开始选中一个框,应用,取消选中一个框,应用……在喷涌中寻找模式。继续通过注册表项清除您显然不想查找的内容。
- 最终,只要付出一点努力,你就会找到自己的钥匙。而且你会在这个过程中变得越来越好。
答案2
这是处理所有项目的更新...
:: - - 开始 - -
@echo off 设置 KeyToSet=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel\
设置 ThisPCGuid={20D04FE0-3AEA-1069-A2D8-08002B30309D} 设置 RecycleBinGuid={645FF040-5081-101B-9F08-00AA002F954E} 设置 NetworkGuid={F02C1A0D-BE21-4350-88B0-7367FC96EF3C} 设置 MyFiles={59031a47-3f72-44a7-89c5-5595fe6b30ee}
:: 0 为显示,1 为隐藏设置 IconValue=0
REG ADD %KeyToSet% /v %ThisPCGuid% /t REG_DWORD /d %IconValue% /f REG ADD %KeyToSet% /v %RecycleBinGuid% /t REG_DWORD /d %IconValue% /f REG ADD %KeyToSet% /v %NetworkGuid% /t REG_DWORD /d %IconValue% /f REG ADD %KeyToSet% /v %MyFiles% /t REG_DWORD /d %IconValue% /f
:: - -结尾 - -