Vbscript 如何使我的VB脚本覆盖现有的快捷方式文件,而不是创建副本

Vbscript 如何使我的VB脚本覆盖现有的快捷方式文件,而不是创建副本,vbscript,Vbscript,我正在使用以下VB脚本更新目标位置并向其添加参数 Set wsc = WScript.CreateObject("WScript.Shell") Set lnk = wsc.CreateShortcut(wsc.SpecialFolders("desktop") & "\Soft.LNK") lnk.targetpath = "C:\Soft\bin\Soft.exe" lnk.Arguments = "-user:App -passwd:App1" lnk.save 该脚本

我正在使用以下VB脚本更新目标位置并向其添加参数

Set wsc = WScript.CreateObject("WScript.Shell") 
Set lnk = wsc.CreateShortcut(wsc.SpecialFolders("desktop") & "\Soft.LNK") 

lnk.targetpath = "C:\Soft\bin\Soft.exe" 
lnk.Arguments = "-user:App -passwd:App1" 
lnk.save
该脚本只在创建另一个(重复的)快捷方式文件而不只是更新现有文件时工作正常

我从另一个批处理文件中调用此vb脚本

有什么想法吗


干杯

您在桌面上看到的元素存储在不同的文件夹中

假设有两个同名的快捷方式,我打赌每个快捷方式都放在不同的文件夹中。使用代码创建的一个将被放置在当前用户的桌面文件夹中,而上一个将被放置在共享文件夹中

如果用于打开现有快捷方式的路径指向其他文件夹,则无法覆盖该快捷方式。在存储快捷方式的“常规”选项卡内签入快捷方式的属性

最可能的解决方案是

Set lnk = wsc.CreateShortcut(wsc.SpecialFolders("AllUsersDesktop") & "\Soft.LNK") 

您可以在桌面文件夹中创建两个lnk文件吗?你确定他们有完全相同的名字吗?我不能帮你编写代码,但是mybe你可以在创建新的之前删除旧的。或者诸如此类的事情。我错了,这确实是在创建一个副本。请看一下更新的脚本。