我有一个Powershell脚本,每次电脑加载时都会在Windows11上运行,将文件夹固定到快速访问中。它是基于这个线程的。
它可以工作,但是如果用户已经固定了文件夹,它将删除文件夹而不是保留它。从本质上讲,它就像一个开关。
我已经寻找了一些关于InvokeVerb()方法的文档,但还没有找到任何清楚的东西。我本以为是"pintohome";如果已经有固定的文件夹,就把它留在原来的位置。
知道为什么会这样吗?是Windows11的问题吗?
对您提供的链接稍作修改:只需检查pin是否已经存在
$QuickAccess = New-Object -ComObject shell.application
$PathToPin = "C:MyPathToPin"
if(-not ($QuickAccess.Namespace("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}").Items() | ? {$_.Path -eq $PathToPin})){$QuickAccess.Namespace($PathToPin).Self.InvokeVerb("pintohome")}