|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Создать ярлык, добавить в автозагрузку |
|
|
VBS/WSH/JS - Создать ярлык, добавить в автозагрузку
|
Новый участник Сообщения: 12 |
Профиль | Сайт | Отправить PM | Цитировать Вопрос может и слишком нубский, но все же.
Есть ТЕСТОВЫЙ вбсник суть которого состоит в том, чтобы создать ярлык(ярлык себя же - это только для примера) и добавить себя в автозагрузку при этом проверяя наличие ярлыка. Set fso = CreateObject("Scripting.FileSystemObject") if fso.FileExists(FSO.GetBaseName(WScript.ScriptName) & ".lnk") then 'проверка наличия .lnk wscript.echo "yes" else wscript.echo "no, add" 'создание .lnk Set st = CreateObject("WScript.Shell") j = FSO.GetBaseName(WScript.ScriptName) 'Название ярлыка c = ".lnk" 'Описание Ярлыка h = WScript.ScriptFullName 'Суть к файлу для которого создается ярлык e = "14" 'Номер иконки ярлыка Set f = st.CreateShortcut(j & ".lnk") f.Description = c f.IconLocation = "shell32.dll," & e f.TargetPath = h f.save() end if CreateObject("WScript.Shell").RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Window", WScript.ScriptFullName Где в коде ошибка? И можно ли указать путь сохранения ярлыка? |
|
Отправлено: 23:18, 28-07-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Полина_Комиссарова@vk:
|
|
Отправлено: 00:28, 29-07-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 12:56, 29-07-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Полина_Комиссарова@vk, определитесь. Выше Вы пишете про ярлык, ниже пишете про реестр. Что, за чем, куда — я уже толком перестал понимать.
|
Отправлено: 20:06, 29-07-2017 | #4 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Цитата Полина_Комиссарова@vk:
|
|||
Отправлено: 20:13, 29-07-2017 | #5 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Полина_Комиссарова@vk:
Не надо путать папку, из которой запускается программа (или скрипт), с её рабочей папкой, которая в общем случае не совпадает с папкой запуска. |
|
------- Отправлено: 23:28, 29-07-2017 | #6 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 23:51, 29-07-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Полина_Комиссарова@vk, как уже выше отметил коллега mwz, дело в том, что Вы совершаете распространённую ошибку, полагая, что текущий каталог всегда будет равен каталогу, где расположен исполняемый файл, скрипт, пакетный файл, документ и т.п. В ряде случаев они могут и совпадать:
Цитата Полина_Комиссарова@vk:
В Вашем частном случае всё строится именно на таком рассчёте: — проверяется существование файла ярлыка в текущем для исполняемого скрипта каталоге. Когда скрипт запускается Вами «ручками» — текущим каталогом будет каталог скрипта. Когда скрипт запускается из: — текущим каталогом будет каталог исполняемого файла wscript.exe. Посему указанный код не найдёт там ранее созданного ярлыка и начнёт его создавать. Разумеется, там же — в %SystemRoot%\System32, поскольку и ниже по коду тот же самый рассчёт: j = FSO.GetBaseName(WScript.ScriptName) 'Название ярлыка … Set f = st.CreateShortcut(j & ".lnk") Опишите Вашу задачу. |
|
Отправлено: 05:52, 30-07-2017 | #8 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Iska, насколько я понял, в данной [частной] задаче надо создавать этот ярлык именно в той папке, где расположен сам скрипт.
И тогда надо указывать полный путь не в явном виде, а так, как в батниках делается использованием префикса %~dp0. |
------- Последний раз редактировалось mwz, 30-07-2017 в 10:04. Отправлено: 09:44, 30-07-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата mwz:
Цитата mwz:
|
||
Отправлено: 09:59, 30-07-2017 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Добавить программу в автозагрузку Андроид | SKSKSS | Мобильные ОС, смартфоны и планшеты | 2 | 05-07-2014 13:57 | |
Службы - [решено] Добавить свою программу в автозагрузку ? | jannaly | Microsoft Windows 7 | 6 | 27-12-2012 23:21 | |
Прочие - Как добавить Avast в автозагрузку? | slonikdva | Защита компьютерных систем | 4 | 11-10-2012 07:17 | |
Программы - Как добавить программу в автозагрузку? | Pasha-hard | Автоматическая установка Windows 2000/XP/2003 | 2 | 22-11-2010 20:08 | |
как добавить модули в автозагрузку | hameg | Программное обеспечение Linux и FreeBSD | 6 | 11-12-2003 06:31 |
|