Создаем ярлык через командную строку
- Recluse
- 01.05.2021
- 14 203
- 5
- 29.11.2022
- 20
- 20
- 0
Вступление
При создании bat файлов для автоматизации различных действий, мне не раз приходила мысль о необходимости создания ярлыков через командную строку. К сожалению, обычными средствами командной строки это не сделать. В результате, пришлось искать обходной путь, которым оказался встроенный в Windows язык сценариев VBSscript.
Вызываем код VBScript из командной строки
Один из вариантов использования VBScript заключается в том, что через команду echo из командной строки будет создан vbs файл, который затем будет выполнен и удален. В примере ниже, мы создадим ярлык для Блокнота:
echo Set objShell = CreateObject("WScript.Shell") > %TEMP%\CreateShortcut.vbs
echo Set objLink = objShell.CreateShortcut("%USERPROFILE%\Desktop\Блокнот.lnk") >> %TEMP%\CreateShortcut.vbs
echo objLink.Description = "Запуск Блокнота" >> %TEMP%\CreateShortcut.vbs
echo objLink.TargetPath = "C:\Windows\System32\Notepad.exe" >> %TEMP%\CreateShortcut.vbs
echo objLink.Save >> %TEMP%\CreateShortcut.vbs
cscript %TEMP%\CreateShortcut.vbs
del %TEMP%\CreateShortcut.vbs
Используем отдельный файл VBScript для создания ярлыков
Другой вариант создания ярлыка через командную строку - использования отдельного файла скрипта, написанного на VBScript. Для этого, нужно создать файл формата vbs следующего содержания, и сохранить его в каком-нибудь удобном для себя месте:
Set objShell = CreateObject("WScript.Shell")
' Проверяем, что получили какие-то параметры
If WScript.Arguments.Count > 0 Then
Set colArgs = WScript.Arguments.Named
' Описание ярлыка
strDescription = colArgs.Item("description")
' Путь для сохранения создаваемого ярлыка
strDestination = colArgs.Item("destination")
' Пользовательский значок создаваемого ярлыка
strIcon = colArgs.Item("icon")
' Имя создаваемого ярлыка
strName = colArgs.Item("name")
' Путь к объекту, на который ссылается ярлык
strSource = colArgs.Item("source")
Set objLink = objShell.CreateShortcut(strDestination & "\" & strName & ".lnk")
' Устанавливаем описание ярлыка, только если задан аргумент description
If 0 < Len(strDescription) Then
objLink.Description = strDescription
End If
' Устанавливаем пользовательский значок, только если задан аргумент icon
If 0 < Len(strIcon) Then
objLink.IconLocation = strIcon
End If
objLink.TargetPath = strSource
objLink.Save
End If
После сохранения данного файла, можно вызвать его через командную строку, и передать все нужные для создания ярлыка параметры.
Поддерживаемые параметры:
- /source:[ПУТЬ] - обязательный параметр, полный путь к директории или файлу, на который будет ссылаться ярлык.
Пример:/source:"C:\Windows\System32\Notepad.exe"
- /destination:[ПУТЬ] - обязательный параметр, путь к директории, в которой следует создать ярлык.
Пример:/destination:"%USERPROFILE%\Desktop"
- /name:[ИМЯ] - обязательный параметр, имя создаваемого ярлыка.
Пример:/name:"Блокнот"
- /description:[ОПИСАНИЕ] - необязательный параметр, описание создаваемого ярлыка, которое будет появляться при наведении на него курсором мыши.
Пример:/description:"Запуск Блокнота"
- /icon:[ПУТЬ К ФАЙЛУ,ИНДЕКС ЗНАЧКА] - необязательный параметр, пользовательский значок. Следует указать путь к файлу со значками (например, C:\Windows\System32\mmcndmgr.dll), и индекс значка в этом файле (например, 40).
Пример:/icon:"C:\Windows\System32\mmcndmgr.dll, 40"
Примеры использования:
Создаем ярлык для Блокнота:
CreateShortcut.vbs /source:"C:\Windows\System32\Notepad.exe" /destination:"%USERPROFILE%\Desktop" /name:"Блокнот"
Создаем ярлык для Блокнота, добавляем ему описание и модный значок:
CreateShortcut.vbs /source:"C:\Windows\System32\Notepad.exe" /destination:"%USERPROFILE%\Desktop" /name:"Блокнот" /description:"Запуск Блокнота" /icon:"C:\Windows\System32\mmcndmgr.dll, 40"
Добавить комментарий