找到相对路径但不是绝对路径的文件? (VBS)

时间:2016-04-16 13:09:04

标签: vbscript

我正在尝试从VBScript启动快捷方式,但我遇到了一个非常奇怪的错误。

当我使用快捷方式的相对路径时,脚本会完全打开快捷方式。但是,如果我使用绝对文件路径(从Windows资源管理器复制,所以没有拼写错误或类似的东西),它会给我一个错误,说找不到文件。

相对路径代码:

dim x
set x = CreateObject("WScript.shell")
x.Run("Shortcut.lnk")
set x = Nothing

这会打开文件。

绝对路径代码:

dim x
set x = CreateObject("WScript.shell")
x.Run("C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk")
set x = Nothing

如您所见,代码完全相同。但是,它给我一个文件未找到错误:

Script: C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\test.vbs
Line: 3
Char: 1
Error: The system cannot find the file specified.
Code: 80070002
Source: (null)

脚本的文件路径在错误中与我在代码中放置的路径完全相同,但它仍然给我一个错误。

任何帮助都将不胜感激。

注意:我的用户名已被*****替换为问题。

1 个答案:

答案 0 :(得分:2)

对于shell(.Run,​​.Exec),包含空格的pathes需要引号。所以替换

x.Run("C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk")

x.Run """C:\Users\*****\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Test\Shortcut.lnk"""

(cf herehere