Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Добавление и удаление в реестр

Новый участник


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

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


Вложения
Тип файла: zip Reg_add.zip
(1.2 Kb, 5 просмотров)
Господа имеется проблемка, необходимо добавлять и удалять периодически некоторые параметры реестра
все они в архиве, хотелось бы все это делать через vbs скриптик, то есть каждое дейтвие по отдельности - всего 4 скрипта, но я не силен, выручайте

Отправлено: 15:46, 12-08-2013

 


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

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


Новый участник


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

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


Нашел то что мне нужно, вот кто бы объяснил как мне мои файлы реестра сюда прописать?
Код: Выделить весь код
'========================================================================== 
' 
' NAME: Reg.vbs 
' 
' AUTHOR: Dennis C. Eijkelboom 
' DATE  : 23-12-2010 
' 
' SYNTAX:  
'    cscript reg.vbs <regfilepaths> 
' 
' EXAMPLE: 
'    cscript reg.vbs proxyserver.reg searchscopes.reg 
' 
'========================================================================== 
 
Option Explicit 
 
Dim FileSystemObject: Set FileSystemObject = CreateObject("Scripting.FileSystemObject") 
Dim objWSHShell: Set objWSHShell = CreateObject("WScript.Shell") 
Call Main 
Set FileSystemObject = Nothing 
Set objWSHShell = Nothing 
 
Sub Main 'Process all registry export files that are passed through as commandline parameters 
    Const ForReading = 1 
    Const OpenAsUnicode = -1 
    Dim RegFile 
    Dim argument 
    For Each argument In WScript.Arguments 
        Set RegFile = FileSystemObject.OpenTextFile(argument,ForReading,,OpenAsUnicode) 
        ProcessRegFile RegFile 
        RegFile.Close 
        Set RegFile = Nothing 
    Next 
End Sub 
 
Sub ProcessRegFile(RegFile) 'Read through the registry file and write each registry value 
    Dim line: line = "" 
    Dim key: key = "" 
    Dim name: name = "" 
    Dim value: value = "" 
    While Not RegFile.AtEndOfStream 
        line = RegFile.ReadLine 
        If Left(line,1) = "[" Then 'key line 
            key = Mid(line,2,Len(line)-2) 
        ElseIf Left(line,1) = """" Then 'value line 
            line = Mid(line,2,Len(line)-1) 
            name = Left(line,InStr(line,"=")-2) 
            value = Mid(line,Len(name)+3) 
            If Len(key) > 0 And Len(name) > 0 And Len(value) > 0 Then 
                ProcessRegValue key,name,value 
            End If 
        End If 
    Wend 
End Sub 
  
Sub ProcessRegValue(key,name,value) 'Write the registry value under passed name and key 
    key = Replace(Replace(key,"HKEY_lOCAL_MACHINE","HKLM"),"HKEY_CURRENT_USER","HKCU") 
    If Left(value,6) = "dword:" Then 
        value = Mid(value,7) 
        Dim wordvalue: wordvalue = CLng("&H" & value) 
        objWSHShell.RegWrite key & "\" & name,wordvalue,"REG_DWORD" 
    Else 
        value = Replace(Mid(value,2,Len(value)-2),"\\","\") 
        objWSHShell.RegWrite key & "\" & name,value,"REG_SZ" 
    End If 
End Sub

Отправлено: 19:22, 12-08-2013 | #3


Ветеран


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

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


killapeps, не занимайтесь ерундой, я привёл Вам то, что нужно.

Отправлено: 04:56, 13-08-2013 | #4


Новый участник


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

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


Iska, я еще раз говорю я профан в vbs, не хотите не помогайте, я задаю нормальный вопрос, скрипт я вытащил из ссылки которую Вы прислали, но его структуру не понимаю, описания там нет

Отправлено: 18:45, 13-08-2013 | #5


Пользователь


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

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


killapeps, Вы свою проблему решаете или ждете, что ее решит добрый дядя с форума? В найденом скрипте хоть пытались разобраться? Вот эти строчки
Цитата killapeps:
Код: Выделить весь код
'========================================================================== 
' 
' NAME: Reg.vbs 
' 
' AUTHOR: Dennis C. Eijkelboom 
' DATE  : 23-12-2010 
' 
' SYNTAX:  
'    cscript reg.vbs <regfilepaths> 
' 
' EXAMPLE: 
'    cscript reg.vbs proxyserver.reg searchscopes.reg 
' 
'==========================================================================
»
читали? Тут вроде бы не на VBS, а вполне человеческим языком все сказано.

Отправлено: 09:07, 14-08-2013 | #6


Новый участник


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

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


torauma,Представьте себе пытался в батник прописать и запустить
Вот такая ошибочка:
Reg.vbs(64, 9) Ошибка выполнения Microsoft vbscript: Недопустимый вызов или аргумент процедуры: 'Mid'

Дальше не знаю что и как делать

Отправлено: 11:26, 14-08-2013 | #7


Пользователь


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

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


Вот и нужно было спрашивать, что с этой ошибкой делать, а не
Цитата killapeps:
вот кто бы объяснил как мне мои файлы реестра сюда прописать? »
В скрипте не предусмотрено удаление из реестра.
Достаточно изменить скрипт вот так:
Код: Выделить весь код
'========================================================================== 
' 
' NAME: Reg.vbs 
' 
' AUTHOR: Dennis C. Eijkelboom 
' DATE  : 23-12-2010 
' 
' SYNTAX:  
'    cscript reg.vbs <regfilepaths> 
' 
' EXAMPLE: 
'    cscript reg.vbs proxyserver.reg searchscopes.reg 
' 
'========================================================================== 
 
Option Explicit 
 
Dim FileSystemObject: Set FileSystemObject = CreateObject("Scripting.FileSystemObject") 
Dim objWSHShell: Set objWSHShell = CreateObject("WScript.Shell") 
Call Main 
Set FileSystemObject = Nothing 
Set objWSHShell = Nothing 
 
Sub Main 'Process all registry export files that are passed through as commandline parameters 
    Const ForReading = 1 
    Const OpenAsUnicode = -1 
    Dim RegFile 
    Dim argument 
    For Each argument In WScript.Arguments 
        Set RegFile = FileSystemObject.OpenTextFile(argument,ForReading,,OpenAsUnicode) 
        ProcessRegFile RegFile 
        RegFile.Close 
        Set RegFile = Nothing 
    Next 
End Sub 
 
Sub ProcessRegFile(RegFile) 'Read through the registry file and write each registry value 
    Dim line: line = "" 
    Dim key: key = "" 
    Dim name: name = "" 
    Dim value: value = "" 
    While Not RegFile.AtEndOfStream 
        line = RegFile.ReadLine 
        If Left(line,1) = "[" Then 'key line 
            key = Mid(line,2,Len(line)-2) 
        ElseIf Left(line,1) = """" Then 'value line 
            line = Mid(line,2,Len(line)-1) 
            name = Left(line,InStr(line,"=")-2) 
            value = Mid(line,Len(name)+3) 
            If Len(key) > 0 And Len(name) > 0 And Len(value) > 0 Then 
                ProcessRegValue key,name,value 
            End If 
        End If 
    Wend 
End Sub 
  
Sub ProcessRegValue(key,name,value) 'Write the registry value under passed name and key 
    key = Replace(Replace(key,"HKEY_lOCAL_MACHINE","HKLM"),"HKEY_CURRENT_USER","HKCU") 
    If Left(value,6) = "dword:" Then 
        value = Mid(value,7) 
        Dim wordvalue: wordvalue = CLng("&H" & value) 
        objWSHShell.RegWrite key & "\" & name,wordvalue,"REG_DWORD"
    ElseIf value = "-" Then
	objWSHShell.RegDelete key & "\" & name
    Else 
        value = Replace(Mid(value,2,Len(value)-2),"\\","\") 
        objWSHShell.RegWrite key & "\" & name,value,"REG_SZ" 
    End If 
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:14, 14-08-2013 | #8


Новый участник


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

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


Спасибо Вам torauma, но не все заработало, все же как то криво вытаскивает он параметры из рег файлов, решено было с помощью совета человека из другого сообщества использовать REG2EXE (обходит политику системы блокировки реестра)
У меня все запускается из бат файла и она мне наиболее подошла

Отправлено: 13:57, 14-08-2013 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Добавление переменной в реестр через Пуск->Выполнить gora Скриптовые языки администрирования Windows 1 23-05-2012 23:11
VBS/WSH/JS - Добавление параметра в реестр с помощью VBS team Скриптовые языки администрирования Windows 9 26-09-2011 08:12
CMD/BAT - [решено] Добавление в реестр значения с кавычками SANIOK_AV Скриптовые языки администрирования Windows 2 21-09-2011 11:20
CMD/BAT - Добавление информации в реестр, с помощью мастера планирования заданий achsel Скриптовые языки администрирования Windows 5 04-05-2010 18:42
Разное - [решено] Реестр (добавление параметра в конец) hackroute Microsoft Windows 2000/XP 2 08-11-2009 20:31




 
Переход