Показать полную графическую версию : создание ярлыка
basilio666
03-07-2014, 21:56
возникли трудности в создании ярлыка. Помогите пож-та.
set WshShell = WScript.CreateObject("WScript.Shell" )
set oShellLink = WshShell.CreateShortcut("C:\df.lnk" )
oShellLink.TargetPath = "C:\Windows\System32\javaws.exe https://imya_servera.jnlp"
oShellLink.WindowStyle = 1
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = "c:\windows\system32\"
oShellLink.Save
ошибка в строке: oShellLink.TargetPath = "C:\Windows\System32\javaws.exe https://imya_servera.jnlp". Расположение объекта не принимается. Просьба помочь решить проблему. Через проводник - создать ярлык проблем с созданием нет
ошибка в строке: oShellLink.TargetPath = "C:\Windows\System32\javaws.exe https://imya_servera.jnlp". Расположение объекта не принимается. »
Всё верно.
Через проводник - создать ярлык проблем с созданием нет »
И если Вы сделаете аналогично вывод свойств созданного таким образом ярлыка, то явно увидите свою ошибку в создании.
Пробуйте:
With WScript.CreateObject("WScript.Shell").CreateShortcut("C:\df.lnk")
.TargetPath = "C:\Windows\System32\javaws.exe"
.WorkingDirectory = "c:\Windows\System32"
.Arguments = "https://imya_servera.jnlp"
.WindowStyle = 1
.Description = "Shortcut Script"
.Save
End With
basilio666
04-07-2014, 08:34
Iska, спасибо, все получилось, я новичок в написании скриптов, не учел, что можно указать аргумент.
Подскажите с написанием скрипта создания ярлыка по пути c:\ProgramData\Microsoft\Windows\Start Menu\Programs, с передачей как аргумента пути установки программы.
sov44, озвучьте какой-нибудь конкретный пример, а то что-то не соображу, «кто на чём стоял» :).
К примеру нужно создать ярлык в c:\ProgramData\Microsoft\Windows\Start Menu\Programs\утилиты на 7zFM.exe, расположенный в Win7x64 по пути c:\Program Files\7-Zip. Если скрипт будет работать по этому пути на Windows ХР-10 [x86\x64], внешнего аргумента пути устанновки программы не нужно.
«утилиты» — должна уже существовать или должна создаваться при отсутствии?
Для первого случая:
Option Explicit
Dim objFSO
Dim objWshShell
Dim strFolder
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
strFolder = objFSO.BuildPath(WScript.CreateObject("Shell.Application").Namespace("shell:ProgramFiles").self.Path, "7-Zip")
With objWshShell.CreateShortcut(objFSO.BuildPath(objFSO.BuildPath(objWshShell.SpecialFolders("AllUsersPrograms"), "утилиты"), "7-Zip File Manager.lnk"))
.TargetPath = objFSO.BuildPath(strFolder, "7zFM.exe")
.WorkingDirectory = strFolder
.Arguments = ""
.WindowStyle = 1
.Description = "7-Zip File Manager"
.Save
End With
Set objWshShell = Nothing
Set objFSO = Nothing
WScript.Quit 0
Iska, директория(?) "утилиты" может быть создана, а может и нет. Делаю сборку, нужен универсальный вариант.
Тогда — так:
Option Explicit
Dim objFSO
Dim objWshShell
Dim strFolder
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
strFolder = objFSO.BuildPath(objWshShell.SpecialFolders("AllUsersPrograms"), "утилиты")
If Not objFSO.FolderExists(strFolder) Then
objFSO.CreateFolder strFolder
End If
With objWshShell.CreateShortcut(objFSO.BuildPath(strFolder, "7-Zip File Manager.lnk"))
strFolder = objFSO.BuildPath(WScript.CreateObject("Shell.Application").Namespace("shell:ProgramFiles").self.Path, "7-Zip")
.TargetPath = objFSO.BuildPath(strFolder, "7zFM.exe")
.WorkingDirectory = strFolder
.Arguments = ""
.WindowStyle = 1
.Description = "7-Zip File Manager"
.Save
End With
Set objWshShell = Nothing
Set objFSO = Nothing
WScript.Quit 0
Для корректной работы пробуйте исполнять под соответствующей разрядностью.
Делаю сборку, нужен универсальный вариант. »
??!
Iska, в win7x64 ссылка на ярлык получилась в Program Files (x86), а нужно, чтобы на всех разрядностях было Program Files
в win7x64 ссылка на ярлык получилась в Program Files (x86), а нужно, чтобы на всех разрядностях было Program Files »
Запускайте скрипт в среде, соответствующей разрядности и все получится.
Iska, в win7x64 ссылка на ярлык получилась в Program Files (x86), »
См.:
Для корректной работы пробуйте исполнять под соответствующей разрядностью. »
и коллегу gora:
Запускайте скрипт в среде, соответствующей разрядности и все получится. »
Покажите, как именно и откуда Вы исполняете скрипт.
Iska, gora, спасибо, всё получилось. Результат в теме http://forum.oszone.net/post-2546323.html#post2546323
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.