Вы должны войти, чтобы создавать сообщения и темы.

Создать ярлык с иконкой

Страница 1 из 3► 3

Здравствуйте, нашел на stack overflow этот vbs скрипт:

Скопированоset fs  = CreateObject("Scripting.FileSystemObject")
set ws  = WScript.CreateObject("WScript.Shell")
set arg = Wscript.Arguments
linkFile = arg(0)
set link = ws.CreateShortcut(linkFile)
    link.TargetPath = fs.BuildPath(ws.CurrentDirectory, arg(1))
    link.Save

Используется коммандой Скопированоscript.vbs shortcut.txt.lnk target.txt

Помогите пожалуйста переписать так, чтобы третим аргументом указывался путь к иконке, и чтобы она устанавливалась на ярлык. Так же мне не принципиален именно vbs, вместо него даже более предполчтительными будут .cmd скрипт или python, а вот powershell не желателен. Пишу в разделе про vbs потому что на vbs уже есть полурабочее решение.

Добрый🖐.

set WshShell = WScript.CreateObject("WScript.Shell" )
set Shortcut = WshShell.CreateShortcut("Куда сохранять" )
Shortcut.TargetPath = "Цель ярлыка"
Shortcut.IconLocation = "Иконка"
Shortcut.Save

 

Лайкнул gmanka
gmanka
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Еще раз здравствуйте, по какой-то причине на компьютере первая строчка с приветствием в моем сообщение не оторбражается, даже если я отредактирую сообщение и добавлю в начало пустую строку (скрин)

А на телефоне отображается (скрин)

На обоих устройствах использую хром

upd: в инкогнито все нормально отображается, значит виновато одно из моих браузерных, расширений прошу прощения 

Цитата: Mikhail от 22.05.2022, 13:25

Добрый🖐.

 
Скопированоset WshShell = WScript.CreateObject("WScript.Shell" )
Скопированоset Shortcut = WshShell.CreateShortcut("Куда сохранять" )
СкопированоShortcut.TargetPath = "Цель ярлыка"
СкопированоShortcut.IconLocation = "Иконка"
СкопированоShortcut.Save
Скопированоset WshShell = WScript.CreateObject("WScript.Shell" ) set Shortcut = WshShell.CreateShortcut("Куда сохранять" ) Shortcut.TargetPath = "Цель ярлыка" Shortcut.IconLocation = "Иконка" Shortcut.Save

 

Большое спасибо

 
 
Цитата: Mikhail от 22.05.2022, 13:25

Добрый🖐.

set WshShell = WScript.CreateObject("WScript.Shell" )
set Shortcut = WshShell.CreateShortcut("Куда сохранять" )
Shortcut.TargetPath = "Цель ярлыка"
Shortcut.IconLocation = "Иконка"
Shortcut.Save
set WshShell = WScript.CreateObject("WScript.Shell" ) set Shortcut = WshShell.CreateShortcut("Куда сохранять" ) Shortcut.TargetPath = "Цель ярлыка" Shortcut.IconLocation = "Иконка" Shortcut.Save

 

set WshShell = WScript.CreateObject("WScript.Shell" )
set Shortcut = WshShell.CreateShortcut("Куда сохранять" )
Shortcut.TargetPath = "Цель ярлыка"
Shortcut.IconLocation = "Иконка"
Shortcut.Save

 

Привет, а можно как-то к цели добавить аргумент?

если я пишу СкопированоShortcut.TargetPath = "D:\python.exe D:\script.py", то выдает ошибку

Привет.
Да, с новой строки Shortcut.Arguments = " "

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: Mikhail от 11.08.2022, 16:25

Привет.
Да, с новой строки Shortcut.Arguments = " "

Спасибо

Аргумент, после TargetPath, вставляем.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

ок

Подскажите, можно ли в 

СкопированоShortcut.IconLocation = "Иконка"

прописать относительный путь к файлу?
Работает с "С:/1.ico" и "shell32.dll,80", но с относительным нечего не выходит, картинки нету(

Artem, здравствуйте.
Чтобы задать относительный путь к иконке ярлыка, нужно сперва указать текущее место, с которого запущен скрипт.

currentDir = WshShell.CurrentDirectory
iconPath = currentDir & "\..\icon\custom.ico"
shortcut.IconLocation = iconPath

Иконка расположена в папке icon, на уровень выше, рабочей директории скрипта.

Лайкнул Artem
Artem
Лучший способ помочь себе — помогать другим.

Ты просто спаситель, я 2 дня искал как это сделать, спасибо огромное!

Скопированоset WshShell = WScript.CreateObject("WScript.Shell" )
Скопированоset Shortcut = WshShell.CreateShortcut("NewName.lnk" )
СкопированоShortcut.TargetPath = currentDir & "\..\icon\2.bat"
СкопированоcurrentDir = WshShell.CurrentDirectory
СкопированоiconPath = currentDir & "\..\icon\1.ico"
Скопированоshortcut.IconLocation = iconPath
СкопированоShortcut.Save 

Вроде работало 1 минуту и теперь снова все накрылось=(, почему эта хрень не работает, я всего-то ярлык хочу с иконкой...
высшая математика (((

Artem, напишите подробнее, где расположена иконка, относительно скрипта?

Лучший способ помочь себе — помогать другим.
Страница 1 из 3► 3