Скрипт vbs создания ярлыка к объекту с параметрами и именем

пример вызова:

CreateShortcut.vbs "D:\Adm\Sysinternals\Procmon64.exe" "/quiet" "Диспетчер задач x64" "" %DESKTOP%
'Автор скрипта Тюрюков Владимир Сергеевич, сайт: tvs-sm.ru, e-mail tvs-sm@ya.ru
'
Set oWS = WScript.CreateObject("WScript.Shell")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")

Set Args = WScript.Arguments

DesktopPath = WshShell.SpecialFolders("Desktop")
ScriptPath = FSO.GetParentFolderName(WScript.ScriptFullName)

if Args.Count() < 1 Then
   HelpMessage = "Скрипту CreateShortcut.vbs нужны обязательные параметры."&vbCrLf& _
   "Все параметры задаются в двойных кавычках"&vbCrLf& _
   "- 1й параметр путь к объекту ярлыка"&vbCrLf& _
   "- 2й параметр все параметры запуска в общих кавычках"&vbCrLf& _
   "- 3й параметр имя ярлыка - если не указано имя ярлыка будет = имени объекта ярлыка (из первого параметра)"&vbCrLf& _
   "- 4й путь к файлу иконки и ее  номер через запятую"&vbCrLf& _
   "- 5й путь к месту сохранения созданного ярлыка, если не задан то по умолчанию ярлык сохраняется рядом с этим скриптом. Если передать %DESKTOP% то сохранит на рабочем столе текущего пользователя."&vbCrLf& _
   ""&vbCrLf& _
   "Пример запуска скрипта: "&vbCrLf& _
   "CreateShortcut.vbs ""D:\Adm\Sysinternals\Procmon64.exe"" ""/quiet /minimized"" ""Диспетчер задач x64"" "&vbCrLf& _
   "Выполнение текущего вызова скрипта прервано."

   'MsgBox(HelpMessage)
   WScript.Quit
end if

'CreateShortcut.vbs "D:\Adm\Sysinternals\Procmon64.exe" "/quiet" "Диспетчер задач x64" "" %DESKTOP%

TargetLnkPath = Args.Item(0) '1й параметр путь к объекту ярлыка
Arguments = Args.Item(1)     '2й параметр параметры запуска в общих кавычках

FolderOfLinkedObject = FSO.GetParentFolderName(TargetLnkPath)
'MsgBox(TargetLnkPath)

if Args.Count() >= 3 and Args.Item(2) <> "" Then
   NameLink = Args.Item(2) '3й параметр имя ярлыка  
else 'имя ярлыка не задано
   NameLink = FSO.GetBaseName(FSO.GetFile(TargetLnkPath))
end if
'MsgBox(NameLink)

if Args.Count() >= 4 and Args.Item(3) <> "" Then
   IconLocation = Args.Item(3) '4й путь к файлу иконки и ее  номер через запятую
else 'путь к иконке не задан используется первая иконка из файла на который делается ярлык
   IconLocation = TargetLnkPath + ", 0"
end if

if Args.Count() >= 5 and Args.Item(4) <> "" Then '5й путь к месту сохранения созданного ярлыка, если не задан то по умолчанию ярлык сохраняется рядом с этим скриптом
   if Args.Item(4) = "%DESKTOP%" Then
      sLinkFile = DesktopPath + "\" + NameLink + ".lnk"
   else   
      sLinkFile = Args.Item(4) + "\" + NameLink + ".lnk"
   end if
else 
   sLinkFile = ScriptPath + "\" + NameLink + ".lnk"
end if
'MsgBox(sLinkFile)

Description = ""


Set oLink = oWS.CreateShortcut(sLinkFile)
    oLink.TargetPath = TargetLnkPath
   oLink.Arguments = Arguments
   oLink.Description = Description   
 '  oLink.HotKey = "ALT+CTRL+F"
   oLink.IconLocation = IconLocation
 '  oLink.WindowStyle = "1"   
   oLink.WorkingDirectory = FolderOfLinkedObject
oLink.Save

+ Нет комментариев

Добавить свой