Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как в vbs вставить переменную

Ответить
Настройки темы
VBS/WSH/JS - Как в vbs вставить переменную

Старожил


Сообщения: 489
Благодарности: 13


Конфигурация

Профиль | Отправить PM | Цитировать


Не разбираюсь в vbs но нужна помощь что бы изменить путь в таком файле

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\КИССа")
Set objFolderItem = objFolder.ParseName("КИССа.lnk")
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Закрепить на панели задач" Then objVerb.DoIt
Next

мне нужно тоже но наоборот "Открепить от панели задач"
но по пути C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
но вместо ИМЕНИ ПОЛЬЗОВАТЕЛЯ вставить переменную потому что будет использоваться на разных компах
Как мне сделать этот путь универсальным для разных пользователей (или может есть путь попроще??)

Отправлено: 00:59, 17-04-2012

 

Аватара для timon45

Ветеран


Сообщения: 557
Благодарности: 154

Профиль | Отправить PM | Цитировать


Больше часа пытаюсь изъять программу но так и не получается.
Прикрепить (это срабатывает)
Код: Выделить весь код
Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.Namespace("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\STDUtility") 
Set objFolderItem = objFolder.ParseName("STDU Viewer.lnk") 
Set colVerbs = objFolderItem.Verbs 
For Each objVerb in colVerbs 
    If Replace(objVerb.name, "&", "") = "Закрепить на панели задач" Then objVerb.DoIt 
Next
Открепить (не получается)
Код: Выделить весь код
Const CSIDL_PROFILE = &H28

Set objShell = CreateObject("Shell.Application") 
Set objCurrentUserStartFolder = objShell.NameSpace(CSIDL_PROFILE) 
strCurrentUserProgramsPath = objCurrentUserStartFolder.Self.Path 
Set objFolder = objShell.Namespace(strCurrentUserProgramsPath & "c:\Users\TimON\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar") 
Set objFolderItem = objFolder.ParseName("STDU Viewer.lnk") 
Set colVerbs = objFolderItem.Verbs 
For Each objVerb in colVerbs 
    If Replace(objVerb.name, "&", "") = "Открепить от панели задач" Then objVerb.DoIt 
Next
где же допущена ошибка?
пробовал еще как здесь: http://forum.oszone.net/post-1307991-2.html
но совсем ничего не получилось

Отправлено: 00:50, 23-09-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Что Вы ожидаете получить здесь:
Код: Выделить весь код
Set objFolder = objShell.Namespace(strCurrentUserProgramsPath & "c:\Users\TimON\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
?

Вообще-то скрипт должен сообщать об ошибке во время своего исполнения.

Отправлено: 09:42, 23-09-2012 | #12


Аватара для timon45

Ветеран


Сообщения: 557
Благодарности: 154

Профиль | Отправить PM | Цитировать


Iska, Да сообщает но мне это ничего не дает, и вообще чтобы я не делал по моему одна и та же ошибка.
Скрипт:
Код: Выделить весь код
Const CSIDL_PROFILE = &H28

Set objShell = CreateObject("Shell.Application") 
Set objCurrentUserStartFolder = objShell.NameSpace(CSIDL_PROFILE) 
Set CurrentUserProgramsPath = objCurrentUserStartFolder.Self.Path 
Set objFolder = objShell.Namespace(strCurrentUserProgramsPath & "\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar") 
Set objFolderItem = objFolder.ParseName("STDU Viewer.lnk") 
Set colVerbs = objFolderItem.Verbs 
For Each objVerb in colVerbs 
    If Replace(objVerb.name, "&", "") = "Открепить от панели задач" Then objVerb.DoIt 
Next
как в этом сообщении: http://forum.oszone.net/post-1902721-6.html
ошибка:

Отправлено: 10:04, 23-09-2012 | #13


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


timon45, начните с того, что прикрепите архив с упакованным Вашим скриптом к сообщению.

Отправлено: 19:14, 23-09-2012 | #14


Аватара для timon45

Ветеран


Сообщения: 557
Благодарности: 154

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z PinToTasckbar.7z
(579 байт, 10 просмотров)

Iska, В принципе все то что и писал под кодом.
Ярлык "STDU Viewer.lnk" присутствует по пути: c:\Users\TimON\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\STDU Viewer.lnk

Отправлено: 19:50, 23-09-2012 | #15


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


timon45, как я и предполагал, вышеуказанная ошибка вызвана тем, что Ваш скрипт сохранён в кодировке UTF-8 с BOM. Как раз из-за BOM Вы и получаете эту ошибку.

Сохраните Ваш скрипт в кодировке ANSI/Windows-1251.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:14, 23-09-2012 | #16


Аватара для timon45

Ветеран


Сообщения: 557
Благодарности: 154

Профиль | Отправить PM | Цитировать


Iska, да уже близко но все равно пока ошибка, но другая.


Отправлено: 20:55, 23-09-2012 | #17


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


timon45, лучше нажимайте «Ctrl-C» в окне сообщения об ошибке и вставляйте, обрамив тэгом «code».

Цитата timon45:
ошибка, но другая. »
Вы пытаетесь присвоить переменной объектный тип («set …»), а в правой части присваивания выражение («objCurrentUserStartFolder.Self.Path») возвращает строку.

Отправлено: 21:10, 23-09-2012 | #18


Аватара для timon45

Ветеран


Сообщения: 557
Благодарности: 154

Профиль | Отправить PM | Цитировать


Цитата Iska:
лучше нажимайте «Ctrl-C» в окне сообщения об ошибке и вставляйте, обрамив тэгом «code». »
Спасибо, буду знать.
Цитата Iska:
Вы пытаетесь присвоить переменной объектный тип («set …»), а в правой части присваивания выражение («objCurrentUserStartFolder.Self.Path») возвращает строку. »
Честно признаюсь я ничего в данном скрипте не понимаю, в CMD еще более или менее, поэтому и спрашиваю как мне поступить, что исправить.

Отправлено: 21:40, 23-09-2012 | #19


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата timon45:
Честно признаюсь я ничего в данном скрипте не понимаю, в CMD еще более или менее, поэтому и спрашиваю как мне поступить, что исправить. »
Почитайте про общий метод решения подобных задач здесь.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:10, 24-09-2012 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как в vbs вставить переменную

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Вытащить значение из реестра и вставить его в переменную root221 Скриптовые языки администрирования Windows 16 26-03-2024 12:10
как загнать в переменную ip арес компа ? mitiya Сетевые технологии 19 08-06-2006 02:27
Как создать переменную, имя которой такоеже как значение + несколько латин. символов? E-mail Вебмастеру 12 26-11-2005 10:14
как вставить xamelion Вебмастеру 2 07-09-2005 01:19
как в JavaScript передать переменную? Guest Вебмастеру 8 25-08-2004 13:33




 
Переход