【发布时间】:2014-10-14 22:13:14
【问题描述】:
我正在将程序安装到 'c:\program files (x86)\myfolder\' 并调用 vbs 脚本来创建桌面快捷方式。
Dim linkObj
Set linkObj = shellObj.CreateShortcut(linkFilePath)
linkObj.WindowStyle = "1"
linkObj.HotKey = linkHotKey
linkObj.Arguments = linkArgs
linkObj.Description = linkDesc
linkObj.TargetPath = linkTarget
linkObj.WorkingDirectory = linkWorkingDir
If (linkIconPath <> "") Then linkObj.IconLocation = linkIconPath
linkObj.Save
我正在传递没有任何环境字符串的完整字符串,但在最终结果中,linkIconPath 被更改为“%programfiles%\myfolder\myicon.ico”,这意味着 Windows 资源管理器(作为 64 位应用程序)正在搜索'C:\Program Files\myfolder\myicon.ico' 中的 myicon.ico 而不是 'c:\Program Files (x86)\myfolder\myicon.ico'
如何防止这种情况发生? (我不想将图标文件复制到单独的非重定向文件夹中)
【问题讨论】:
-
您能告诉我们为您的每个变量分配了哪些字符串值吗?
-
如果
linkIconPath正在“更改”,我们不知道它发生在您向我们展示的代码中,因为我们首先看不到任何分配给变量的内容,因为以及在获取您发布的代码之前可能对其进行的任何更改。 -
linkIconPath is 'c:\Program Files (x86)\myfolder\myicon.ico'