2016-04-16 3 views
0

Я пытаюсь запустить ярлык из VBScript, но я столкнулся с очень странной ошибкой.Файл найден с относительным путем, но не абсолютным путем? (VBS)

Когда я использую относительный путь ярлыка, скрипт открывает ярлык отлично. Однако, если я использую абсолютный путь к файлу (скопированный из обозревателя 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) 

Файл путь для сценария точно так же, в ошибке в пути я клал в коде, но она по-прежнему дает мне ошибку.

Любая помощь будет оценена по достоинству.

Примечание: Мое имя пользователя заменено на ***** только на вопрос.

+0

'' **** ничего не значит. –

ответ

2

Для оболочек (.Run, .Exec), содержащих пробелы, нужны кавычки. Так заменить

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""" 

(ср here и here)

+0

Спасибо большое, я понятия не имел, я думал, что одиночных кавычек будет достаточно, но я думаю, что сама строка должна иметь в себе кавычки ... – SchoolBoy

Смежные вопросы