Кавычки в строке vbscript вызывают ошибку недействительного URL - PullRequest
1 голос
/ 17 марта 2009

Я пытаюсь получить приведенный ниже скрипт для создания ярлыка, подобного этому:

"C: \ Program Files \ Internet Explorer \ iexplore.exe" http://WebApp/index.aspx

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\WebApp.url")
oUrlLink.TargetPath = ""&chr(34)& _
  "C:\Program Files\Internet Explorer\iexplore.exe" & _
   chr(34)&" http://WebApp/index.aspx"
oUrlLink.Save

но, похоже, цитаты не нравятся.

Я получаю неверный синтаксис в URL: "" C: \ Program Files \ Internet Explorer \ iexplore.exe "http://WebApp/index.aspx".

Как я могу вставить "без VBScript, получая его трусики в узел?

Ответы [ 7 ]

7 голосов
/ 17 марта 2009

Это согласно Microsoft:

Set objShell = CreateObject("Wscript.Shell")
strFolder = objShell.SpecialFolders.Item("Desktop")
Set objShortcut = objShell.CreateShortcut(strFolder & "\Open Web Site.lnk")
objShortcut.TargetPath = "C:\Program Files\Internet Explorer\iexplore.exe"
objShortcut.Arguments = "http://WebApp/index.aspx"
objShortcut.Save

Вы должны использовать .lnk для расширения файла, а не .url, поскольку свойство .Arguments доступно только для .lnk

0 голосов
/ 18 мая 2009
Set objShell = WScript.CreateObject("WScript.Shell" )
strDesktopFolder = objShell.SpecialFolders("Desktop") 
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\test.lnk" ) 
objShortCut.TargetPath = "http://www.google.com/" 
objShortCut.Description = "Test Environment" 
objShortCut.Save 

Вышеописанное отлично работало для развертывания ярлыков на настольных компьютерах в составе объекта групповой политики. Имена были изменены, чтобы защитить невинных.

Мне кажется, что я чище, но я не гуру сценариев.

0 голосов
/ 17 марта 2009

Это сработало для меня:

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\WebApp.url")
oUrlLink.TargetPath = "C:\Program Files\Internet Explorer\iexplore.exe http://WebApp/index.aspx"
oUrlLink.Save
0 голосов
/ 17 марта 2009

Вы пробовали это?

oUrlLink.TargetPath = chr(34) & "C:\Program Files\Internet Explorer\iexplore.exe" & _
                      chr(34) & " http://WebApp/index.aspx"

Подробнее о цитировании можно найти здесь .

0 голосов
/ 17 марта 2009

Кавычки в VB - всегда больно.

oUrlLink.TargetPath = """C:\Program Files\Internet Explorer\iexplore.exe"" http://WebApp/index.aspx"

0 голосов
/ 17 марта 2009

Используйте это как целевой путь


"C:\Program Files\Internet Explorer\iexplore.exe http://WebApp/index.aspx"

Как насчет этого


Target= "http://WebApp/index.aspx"

0 голосов
/ 17 марта 2009

Это работает?

oUrlLink.TargetPath = "C:\Program Files\Internet Explorer\iexplore.exe"
oUrlLink.Arguments = "http://WebApp/index.aspx"
oUrlLink.Save
...