我正在尝试修改快捷方式(通过删除旧的快捷方式并创建新的快捷方式)到桌面,脚本首先检查文件是否存在,如果存在,则应修改它。没有任何运气试了这个。它工作时我删除文件存在检查,所以问题应该是文件存在检查。这是我的代码:
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
这样做的正确方法是什么?
答案 0 :(得分:2)
您的对象混淆了。您正在呼叫FSO
wsc
和wscript.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