vbscript - 修改快捷方式(如果存在)

时间:2014-10-23 21:12:54

标签: vbscript

我正在尝试修改快捷方式(通过删除旧的快捷方式并创建新的快捷方式)到桌面,脚本首先检查文件是否存在,如果存在,则应修改它。没有任何运气试了这个。它工作时我删除文件存在检查,所以问题应该是文件存在检查。这是我的代码:

Set wsc = CreateObject("Scripting.FileSystemObject")

If (wsc.FileExists(wsc.SpecialFolders("desktop") & "\Google Chrome.LNK")) Then

Set fso = WScript.CreateObject("WScript.Shell")

Set lnk = fso.CreateShortcut(fso.SpecialFolders("desktop") & "\Google Chrome.LNK")
lnk.targetpath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
lnk.Arguments = "http://www.google.com"
lnk.save

End If

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您的对象混淆了。您正在呼叫FSO wscwscript.shell fso。您在创建之前使用wscript.shell

Set wsc = CreateObject("WScript.Shell")

If (wsc.FileExists(wsc.SpecialFolders("desktop") & "\Google Chrome.LNK")) Then
  Set fso = WScript.CreateObject("Scripting.FileSystemObject")

我已将对象换成您想要的内容,而不是您输入的内容。

这里修复了所有5个错误,加上一个逻辑错误(如果已经存在,则只创建快捷方式):

Set wsc = CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

If (fso.FileExists(wsc.SpecialFolders("desktop") & "\Google Chrome.LNK")) = false Then

    Set lnk = wsc.CreateShortcut(wsc.SpecialFolders("desktop") & "\Google Chrome.LNK")
    lnk.targetpath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    lnk.Arguments = "http://www.google.com"
    lnk.save

End If