我有一个脚本可以将应用程序快捷方式固定到Windows任务栏。
固定快捷键时,我的脚本运行正常。但是,如果脚本第二次运行,它将删除之前固定的快捷方式。
问题似乎在这里:
$appWord = "C:\Temp\Word.lnk"
$appWord = "C:\Temp\Excel.lnk"
$apps = @($appWord, $appExcel)
foreach($_ in $apps)
{
($shortcuts.ParseName($_).verbs() | ? {$_.Name -match "Tas&kbar"}).Doit()
}
如果固定的项目已经存在,如何停止它们?
答案 0 :(得分:0)
您可以检查链接是否存在于此处:
C:\Users\Your-User-Name\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
在试图确定之前。
答案 1 :(得分:0)
排除其中包含“取消固定”一词的动词:
$apps | % {
$verb = $shortcuts.ParseName($_).verbs() | ? {
$_.Name -match "Tas&kbar" -and $_.Name -notmatch 'unpin'
}
$verb.Doit()
}
答案 2 :(得分:0)
您可以尝试$item.Verbs() | ? {$_.Name -eq 'Pin to Tas&kbar'}