使用 VBS 复制 lnk 文件



这是我的代码

Const ALL_USERS_DESKTOP = &H19&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(ALL_USERS_DESKTOP)
Set objFolderItem = objFolder.Self
Wscript.Echo objFolderItem.Path
objFSO.CopyFile "\serverfolderfolderName of File 8.5.lnk" , objFolderItem.Path , OverwriteExisting

最后一行给我一个错误。我不确定问题是什么,但我认为这与 lnk 文件有关。如果我放置一个蝙蝠文件或一个 txt 文件,该文件就会被复制。lnk 给出错误。

使用 VBSEdit 作为我的编辑器和 CScript(不是 WScript)

错误消息是C:\用户\公共\桌面Microsoft VBScript 运行时错误 (18, 1) : 权限被拒绝

我知道我有权访问服务器和文件夹。我还可以复制所有其他非 lnk 文件

-------------更新-----

我用以下内容修改了代码

Const DESKTOP = &H10&
Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(DESKTOP)
    Set objFolderItem = objFolder.Self
    Wscript.Echo objFolderItem.Path
    objFSO.CopyFile "\serverfolderfolderName of File 8.5.lnk" , objFolderItem.Path , OverwriteExisting

同样的事情。它说权限被拒绝(即使是我自己的桌面)。使用鼠标,我可以在桌面上创建任何我想要的东西,而无需密码或特殊权限。

我认为您可能需要在指定路径上添加尾部斜杠,因为它指的是文件夹:

objFSO.CopyFile "\serverfolderfolderName of File 8.5.lnk" , objFolderItem.Path & "" , True

如果没有斜杠,您将尝试覆盖该文件夹,因此权限被拒绝。

我不得不重新创建快捷方式,因为 VBS 不会复制它。

Set Shell = CreateObject("WScript.Shell") 
DesktopPath = Shell.SpecialFolders("Desktop") 
Set link = Shell.CreateShortcut(DesktopPath & "shortcut.lnk") 
link.TargetPath = "C:dirfilename.vbs"  ' the location where you store the file on the server 
link.Arguments = ""
link.Description = "Shortcut"
link.HotKey = "CTRL+L"
link.IconLocation = "C:dirfilename.ico"
link.WindowStyle = 1
link.WorkingDirectory = "C:dir"
link.Save 

相关内容

  • 没有找到相关文章

最新更新