Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/127: Рейтинг темы: голосов - 127, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 29.06.2012
Сообщений: 36
1

Изменение иконки ярлыка

11.07.2012, 15:20. Показов 22998. Ответов 36
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реально ли сделать изменение иконки ярлыка скриптом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2012, 15:20
Ответы с готовыми решениями:

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

Создание ярлыка
Здравствуйте господа. :) Скажу кратко - Нужно через батник создать на рабочем столе ярлык. Не...

Автозагрузка ярлыка страницы
Доброго дня друзья! Столкнулся с такой задачей, решить которую по силам только здесь! Как поместить...

Копирования ярлыка на рабочие столы
Привет всем мощным. не подскажите была ли тема на похожую мою проблему? Мне нужно скопировать на...

36
0 / 0 / 0
Регистрация: 29.06.2012
Сообщений: 36
12.07.2012, 17:08  [ТС] 2
Может быть об этом лучше в раздел с VB написать?
0
59 / 44 / 5
Регистрация: 07.05.2010
Сообщений: 52
22.07.2012, 19:00 3
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

В свое время необходимо было централизованно рулить ярлыками на машинах сети. GPPreferences в ту пору еще не было, что привело к написанию скрипта-утилиты, реализующего нужный функционал. Он в аттаче.

Допустим нужно изменить иконку для ярлыка на рабочем столе, запускающего cmd.exe.
Шаг 1 - получаем конфиг ярлыка в форме скрипта:
Код
C:\tmp>for /F "tokens=*" %S in ('cscript.exe //NoLogo lnk.vbs /find sf:Desktop rx:.*cmd.exe') do cscript.exe //NoLogo lnk.vbs /getscript "%S" > 1.bat
Шаг 2 - открываем в блокноте полученный на предыдущем этапе 1.bat, видим нечто типа:
Код
cscript.exe //NoLogo lnk.vbs /add "sf:Desktop\cmd.lnk" "C:\Windows\System32\cmd.exe" "" "" ",0" "1" "" ""
правим параметр ",0", означающий скучный черный прямоугольник, на нечто светлое и радостное как новогодний праздник:
Код
cscript.exe //NoLogo lnk.vbs /add "sf:Desktop\cmd.lnk" "C:\Windows\System32\cmd.exe" "" "" "%windir%\system32\pifmgr.dll,26" "1" "" ""
выходим из блокнота с сохранением, запускаем отредактированный 1.bat, и ярлык фактически не правится, а пересоздается с нуля с другой иконкой.
Вложения
Тип файла: zip lnk.zip (3.1 Кб, 252 просмотров)
3
2 / 2 / 0
Регистрация: 20.01.2014
Сообщений: 87
04.02.2014, 10:50 4
Здравствуйте.
А как просто создать ярлык к исполняемому файлу на рабочем столе и навесить на него произвольную горячую клавишу?
Я имею ввиду через cmd конечно же...
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
06.02.2014, 00:02 5
Лучший ответ Сообщение было отмечено как решение

Решение

Bash
1
2
3
4
5
6
7
8
9
10
@set @x=0; /*
@cscript //nologo /e:jscript "%~f0"
@exit /b
 
*/
var oShell = new ActiveXObject("WScript.Shell");
var oShortcut = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") + "\\MyMEGA_PROGA.lnk");
oShortcut.TargetPath = "calc.exe";
oShortcut.HotKey = "CTRL+ALT+F";
oShortcut.Save();
7
33 / 67 / 10
Регистрация: 07.06.2013
Сообщений: 508
Записей в блоге: 1
10.02.2014, 17:18 6
Чёт я немного не разобрал....
Помогите пожалуйста
1)Хочу что бы при запуске батника на рабочем столе создавался ярлык на сайт http://www.adobe.com/ru/ с именем Adobe, а иконку брал с http://wwwimages.adobe.com/www... avicon.ico
Привожу текст файла .url:
Код
[{000214A0-0000-0000-C000-000000000046}]
Prop4=31,Adobe.com
Prop3=19,2
[{A7AF692E-098D-4C08-A225-D433CA835ED0}]
Prop5=3,0
Prop9=19,0
[InternetShortcut]
URL=http://www.adobe.com/ru/
IDList=
IconFile=http://wwwimages.adobe.com/www.adobe.com/include/img/favicon.ico
IconIndex=1
[{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}]
Prop5=8,Microsoft.Website.91225223.66092333
2)Есть ещё одно пожелание, что бы при запуске уже существующего ярлыка он обязательно запускался IE
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
10.02.2014, 23:19 7
URL создать по таким правилам не получится.
Он будет открываться ассоциированной с ним программой, а не IE.

Чтобы создать нужный LNK,
задавайте такие параметры:

Javascript
1
2
3
oShortcut.TargetPath = "%programfiles%\\internet explorer\\iexplore.exe";
oShortcut.Arguments = "http://www.adobe.com/ru/";
oShortcut.IconLocation = "http://wwwimages.adobe.com/www.adobe.com/include/img/favicon.ico";
1
33 / 67 / 10
Регистрация: 07.06.2013
Сообщений: 508
Записей в блоге: 1
11.02.2014, 11:33 8
Получился вот такой код...
Bash
1
2
3
4
5
6
7
8
9
10
11
@set @x=0; /*
@cscript //nologo /e:jscript "%~f0"
@exit /b
 
*/
var oShell = new ActiveXObject("WScript.Shell");
var oShortcut = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") + "\\MyMEGA_PROGA.lnk");
oShortcut.TargetPath = "%programfiles%\\internet explorer\\iexplore.exe";
oShortcut.Arguments = "http://www.adobe.com/ru/";
oShortcut.IconLocation = "http://wwwimages.adobe.com/www.adobe.com/include/img/favicon.ico";
oShortcut.Save();
А как указать что бы не на текущий рабочй стол сохранял а на c:\Users\Public\Desktop ?

Добавлено через 1 час 22 минуты
Попытался в конце дописать строку:
Bash
1
move "c:\Users\%userName%\Desktop\MyMEGA_PROGA.lnk" "c:\Users\Public\Desktop\MyMEGA_PROGA.lnk"
Но блин теперь ругается командная строка, а именно интерпритатор jscript
типа что код не jscript и ничего делать не буду...
Что надо дописать перед этой строкой что бы вернуться обратно в ВАТ?
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
11.02.2014, 23:31 9
bort-747, в БАТ Вы возвращаетесь в строке № 3.
А чтобы создать ярлык на публичном рабочем столе, можно подставить соответствующую переменную окружения:

AllUsersDesktop
2
33 / 67 / 10
Регистрация: 07.06.2013
Сообщений: 508
Записей в блоге: 1
12.02.2014, 12:26 10
Цитата Сообщение от Dragokas Посмотреть сообщение
bort-747, в БАТ Вы возвращаетесь в строке № 3.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
@set @x=0; /*
@cscript //nologo /e:jscript "%~f0"
@exit /b
 
*/
var oShell = new ActiveXObject("WScript.Shell");
var oShortcut = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") + "\\MyMEGA_PROGA.lnk");
oShortcut.TargetPath = "%programfiles%\\internet explorer\\iexplore.exe";
oShortcut.Arguments = "http://www.adobe.com/ru/";
oShortcut.IconLocation = "http://wwwimages.adobe.com/www.adobe.com/include/img/favicon.ico";
oShortcut.Save();
@exit /b
move "c:\Users\%userName%\Desktop\MyMEGA_PROGA.lnk" "c:\Users\Public\Desktop\MyMEGA_PROGA.lnk"
выдает ошибку и не создает ярлык
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
12.02.2014, 23:44 11
bort-747, Вы вообще читаете то, что пишу?
0
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
16.02.2014, 17:08 12
Dragokas, как поправить скрипт, чтобы стартовал не IE, а браузер, установленный в системе по умолчанию?
Bash
1
2
3
4
5
6
7
8
9
10
@set @x=0; /*
@cscript //nologo /e:jscript "%~f0"
@exit /b
 
*/
var oShell = new ActiveXObject("WScript.Shell");
var oShortcut = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") + "\\Яндекс.lnk");
oShortcut.TargetPath = "%programfiles%\\internet explorer\\iexplore.exe";
oShortcut.Arguments = "http://yandex.ru";
oShortcut.Save();
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
16.02.2014, 17:55 13
Чтобы не определять расположение браузера по-умолчанию,
можно создавать вместо обычного ярлыка URL ShortCut:

Bash
1
2
3
4
5
6
7
8
9
@set @x=0; /*
@cscript //nologo /e:jscript "%~f0"
@exit /b
 
*/
var oShell = new ActiveXObject("WScript.Shell");
var uShortcut = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") + "\\Яндекс.url");
uShortcut.TargetPath = "http://yandex.ru";
uShortcut.Save();
1
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
16.02.2014, 19:20 14
Dragokas, ошибка строка 1, символ 1
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
16.02.2014, 19:43 15
sov44, приведи текст ошибки. У меня нормально работает.
Предыдущий пример у тебя работал? Как видишь, в этом скрипте первой строкой ничего не менялось.
0
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
16.02.2014, 19:47 16
Цитата Сообщение от Dragokas Посмотреть сообщение
sov44, приведи текст ошибки.
ошибка
os Windows XP
Миниатюры
Изменение иконки ярлыка  
0
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
16.02.2014, 22:27 17
Dragokas, со скриптом всё ок ( нужно было писать расширение cmd, а я написал vbs )
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
17.02.2014, 00:49 18
Проверил на x32, x64, RU, EN системах. Везде нормально - создается.
Попробуй пересоздать текстовый файл с нуля.
Также попробуй файл .cmd и .js из этого архива. Отпишись о результате.
Вложения
Тип файла: zip CreateShortcut.zip (681 байт, 128 просмотров)
0
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
17.02.2014, 12:51 19
Цитата Сообщение от Dragokas Посмотреть сообщение
Попробуй пересоздать текстовый файл с нуля.
Также попробуй файл .cmd и .js из этого архива. Отпишись о результате.
Всё отлично работает, проверил на WinXP и Win7.
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
17.02.2014, 21:05 20
Цитата Сообщение от sov44 Посмотреть сообщение
нужно было писать расширение cmd, а я написал vbs )
Либо CMD, либо JS.
0
17.02.2014, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 21:05
Помогаю со студенческими работами здесь

Создание ярлыка средствами GPO
Сделал два ярлыка, но иконка отображается только у URL и так у всех пользователей! Причем если...

Создание ярлыка через консоль
Здравствуйте, есть задание "Создайте на Рабочем столе ярлык cmd.exe позволяющий загрузить командную...

Как прописать команду в свойствах ярлыка???
Когда то слышал или видел что можно в свойствах ярлка прописать команду. т.е. ярлык кроме своего...

CMD/BAT: Узнать параметры ярлыка
Приветствую! Нужно узнать параметр (т.е. зачастую это "C:\LOLKEK\app.exe -browser") ярлыков на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru