【发布时间】:2011-08-28 06:29:37
【问题描述】:
这是我的代码
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 "\\server\folder\folder\Name of File 8.5.lnk" , objFolderItem.Path , OverwriteExisting
在最后一行给我一个错误。我不确定问题是什么,但我认为它与 lnk 文件有关。如果我放置一个 bat 文件或一个 txt 文件,该文件就会被复制。 lnk 报错。
使用 VBSEdit 作为我的编辑器和 CScript(不是 WScript)
错误信息是 C:\用户\公共\桌面 Microsoft VBScript 运行时错误 (18, 1) : Permission denied
我知道我可以访问服务器和文件夹。我也可以复制所有其他非 lnk 文件
---------- 更新 -----
我用以下代码修改了代码
Const DESKTOP = &H10&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(DESKTOP)
Set objFolderItem = objFolder.Self
Wscript.Echo objFolderItem.Path
objFSO.CopyFile "\\server\folder\folder\Name of File 8.5.lnk" , objFolderItem.Path , OverwriteExisting
同样的事情。它说权限被拒绝(即使是我自己的桌面)。使用鼠标,我可以在桌面上创建任何我想要的东西,而无需密码或特殊权限。
【问题讨论】:
-
我使用 VBSEdit,它显示 [C:\Users\Public\Desktop Microsoft VBScript 运行时错误 (18, 1) : Permission denied]
-
但是为什么这只发生在 .lnk 文件上?您是否尝试过复制 lnk 文件。我想要复制快捷方式(不是原始项目)。
标签: file scripting file-io vbscript windows-scripting