You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell脚本在Windows 10中固定多个程序到任务栏?

在Windows 10中用PowerShell批量固定程序到任务栏的可行方案

Windows 10的任务栏固定机制在不同版本有调整,网上很多旧脚本会因为接口变更或权限问题失效。以下是两种经过验证的可靠方法:

方法一:利用Shell.Application COM对象

这种方法通过调用系统Shell的原生右键菜单操作,兼容性较好,适用于多数桌面程序和部分UWP应用。

脚本示例

# 初始化Shell COM对象
$shell = New-Object -ComObject Shell.Application

# 定义需要固定的程序完整路径列表
$targetApps = @(
    "C:\Windows\notepad.exe",
    "C:\Program Files\Google\Chrome\Application\chrome.exe",
    "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
)

foreach ($appPath in $targetApps) {
    # 验证程序路径是否存在
    if (-not (Test-Path $appPath)) {
        Write-Error "路径无效: $appPath"
        continue
    }

    # 获取程序所在目录的Shell对象
    $folder = $shell.Namespace((Split-Path $appPath))
    # 获取程序文件的Shell项
    $item = $folder.ParseName((Split-Path $appPath -Leaf))
    # 找到"固定到任务栏"的右键菜单命令
    $pinVerb = $item.Verbs() | Where-Object { $_.Name -match '固定到任务栏' }

    if ($pinVerb) {
        $pinVerb.DoIt()
        Write-Host "已固定: $appPath"
    } else {
        Write-Warning "该程序不支持任务栏固定: $appPath"
    }
}

# 释放COM对象,避免内存泄漏
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($shell) | Out-Null

方法二:修改注册表(适合批量部署)

部分桌面程序的任务栏固定项存储在注册表中,可通过修改注册表实现批量固定。注意:此方法需要先创建注册表模板。

操作步骤

  1. 创建注册表模板:手动固定一个程序到任务栏,导出注册表项HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband到文件(比如pinned_template.reg)。
  2. 替换模板中的路径:用脚本将模板中的占位符替换为目标程序的快捷方式路径(必须是.lnk文件,而非exe路径)。
  3. 导入注册表并重启资源管理器

脚本示例

# 注册表模板路径
$templatePath = "C:\temp\pinned_template.reg"
# 生成的自定义注册表文件路径
$customRegPath = "C:\temp\custom_pinned.reg"

# 定义要固定的程序快捷方式路径列表
$lnkPaths = @(
    "C:\Users\YourName\Desktop\VS Code.lnk",
    "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Terminal.lnk"
)

# 读取模板内容并替换占位符(假设模板中用"REPLACE_ME"作为占位符)
$regContent = Get-Content $templatePath -Raw
foreach ($lnk in $lnkPaths) {
    $regContent = $regContent -replace "REPLACE_ME", $lnk
}

# 写入自定义注册表文件
$regContent | Out-File $customRegPath -Encoding ASCII

# 静默导入注册表
Start-Process regedit.exe -ArgumentList "/s $customRegPath" -NoNewWindow -Wait

# 重启资源管理器使变更生效
Stop-Process -Name explorer -Force
Start-Process explorer.exe

Write-Host "批量固定完成,已重启资源管理器"

关键注意事项

  • 管理员权限:必须以管理员身份运行PowerShell,否则可能无法执行COM操作或修改注册表。
  • 路径准确性:确保程序路径/快捷方式路径正确,UWP应用的快捷方式通常位于C:\ProgramData\Microsoft\Windows\Start Menu\Programs。
  • 版本兼容:Windows 10 20H2及以后版本对任务栏固定机制有微调,若第一种方法失效,可尝试注册表方法。
  • 资源管理器重启:部分情况下,执行脚本后需手动重启资源管理器才能看到效果。

内容的提问来源于stack exchange,提问作者latest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:45:25