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

Материал из OSZone.net wiki.

Перейти к: навигация, поиск


К программам, скопированным при помощи $OEM$ папок, нередко приходится создавать ярлыки из командной строки. Кроме того, в некоторых случаях нужно создать ярлык с определенными параметрами для запуска программы. Для создания ярлыков существуют различные способы.

Содержание

Утилита nircmd

Утилита Nircmd поможет создать ярлык. Команда

nircmd.exe shortcut "%ProgramFiles%\Mozilla Thunderbird\thunderbird.exe" "~$folder.desktop$" "Home" "-p Home"

Создает ярлык к Thunderbird на рабочем столе с именем Home, программа будет запущена с профилем Home (-p Home является параметром запуска исполняемого файла).

С помощью Nircmd можно проделать очень много операций, список которых не ограничивается домашней страницей. В CHM справке все описано подробно.

AutoIt

Создание ярлыков можно легко реализовать скриптом на AutoIt (v.3). Прилагаю вариант скрипта, который по сути лишь оболочка над командой FileCreateShortcut. Осталось скомпилировать EXE-файл и вперед...

Список ключей, в основном выдран из справки к AutoIt:

/f		 Full path and file name of file to create shortcut to.
/l		 Full path and file name of the shortcut. 
/w		Working directory. [optional]
/a		 Additional file arguments. [optional]
/d		 File Description. [optional]
/i		 Full Path/File name of icon to use. [optional]

Пример использования:

shortcut.exe /f:"%ProgramFiles%\Ahead\Nero\nero.exe" /a:"/w" /l:"%ALLUSERSPROFILE%\Desktop\Nero Express"


Rar_icon.png Загрузить скрипт Info_circle.png

Основано на сообщении amel27 в форуме автоустановки Windows.

Самораспаковывающийся (SFX) архив

Если установка приложения ведется из SFX архива, можно задействовать возможности архиватора для создания ярлыков.

WinRAR

SFX-модуль архиватора WinRAR обладает широкими возможностями для создания ярлыков.

Делается архив SFX, и задаем параметры для разархивирования. Ниже пример:

;Расположенный ниже комментарий содержит команды SFX-сценария

Path=%systemdrive%\Program Files\AIMP\
SavePath
Silent=1
Overwrite=1
Shortcut=D, "cAIMP.exe", "", "Аналог winamp", "AIMP.lnk"
Shortcut=P, "cAIMP.exe", "", "Аналог winamp", "AIMP.lnk"

Пояснения:

  • Silent=1 - включен тихий режим
  • Overwrite=1 - включена перезапись существующих файлов
  • Shortcut=D - ярлык для рабочего стола
  • Shortcut=P - ярлык для Меню пуск

7-Zip

SFX-модуль архиватора 7-Zip не умеет создавать ярлыки, но есть замечательный модифицированный модуль, который легко справляется с этой задачей.


Vadikan 23:10, 20 сентября 2006 (MSD)

VBScript

' Создание объекта WshShell:

Set WshShell = WScript.CreateObject("WScript.Shell")

' Создание ярлыка: Set oShellLink = WshShell.CreateShortcut("C:\Ярлык.lnk")

' Целевой путь к файлу для которого создаётся ярлык: oShellLink.TargetPath = "%SystemRoot%\system32\notepad.exe"

' Стиль открытия окна: ' 1 - Обычный размер окна; 3 - Развёрнутое на весь экран; 7 - Свёрнутое в значёк oShellLink.WindowStyle = 1

' Клавиши быстрого вызова: oShellLink.Hotkey = "CTRL+SHIFT+F"

' Путь к файлу который содержит иконку для ярлыка: oShellLink.IconLocation = "notepad.exe, 0"

' Комментарий: oShellLink.Description = "Это тестовый ярлык"

' Рабочая папка: oShellLink.WorkingDirectory = "%SystemRoot%\system32"

' Аргументы командной строки: ' Аргументы имеют смысл если файл к которому обращается ярлык - исполняемый, т.е. имеет одно из следующих расширений: .exe; .bat; .com; .cmd; .vbs и т.д. oShellLink.Arguments = "C:\MyFile.txt"

' Сохранение ярлыка на жестком диске: oShellLink.Save

--Diamond 11:53, 18 сентября 2007 (MSD)


Личные инструменты