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

如何在PowerShell中下载使用ico图标创建快捷方式,解决无图标报错

正确操作方案

核心错误原因

  • PowerShell 5.1及更低版本的Invoke-WebRequest默认未启用二进制传输模式,下载的ico文件会因为编码转义出现损坏,无法被系统识别为合法图标文件
  • WScript.Shell创建快捷方式时,IconLocation属性必须遵循图标文件路径,图标索引的格式,单个ico文件的图标索引固定为0,缺失索引参数会导致系统无法读取图标
  • 系统默认对C:\Windows\Temp目录的图标资源读取存在权限限制,容易触发读取失败报错

修正后可直接运行的代码

# 替换为实际的favicon下载地址
$faviconUrl = "你的图标下载链接"
# 替换为快捷方式指向的目标地址
$targetUrl = "你的网站链接"
# 替换为快捷方式的名称
$shortcutName = "快捷方式名称"

# 改用二进制模式下载图标,存到用户临时目录避免权限问题
$iconPath = Join-Path $env:TEMP "custom_shortcut.ico"
Invoke-WebRequest -Uri $faviconUrl -OutFile $iconPath -UseBasicParsing -Method Get

# 创建快捷方式
$wshShell = New-Object -ComObject WScript.Shell
$desktopPath = [System.Environment]::GetFolderPath('Desktop')
$shortcutPath = Join-Path $desktopPath "$shortcutName.lnk"
$shortcut = $wshShell.CreateShortcut($shortcutPath)
# 补充图标索引参数0
$shortcut.IconLocation = "$iconPath,0"
$shortcut.TargetPath = $targetUrl
$shortcut.Save()

额外验证建议

如果仍然出现报错,可先手动打开$env:TEMP目录找到下载的ico文件,双击确认可以正常预览图标,排除下载链接返回的不是合法ico文件的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:42:03