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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Можно ли с помощю, (.bat) скрипта узнать связанные ветки реестра программы

Ответить
Настройки темы
CMD/BAT - [решено] Можно ли с помощю, (.bat) скрипта узнать связанные ветки реестра программы

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


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

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


Изменения
Автор: turbolover
Дата: 30-07-2015
Как с помощю, (.bat) скрипта узнать связанные ветки реестра программы?

Отправлено: 07:03, 25-07-2015

 

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


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

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


Поиск и удаления ключей и веток реестра с помощю, (.vbs) скрипта.
Код: Выделить весь код
Option Explicit
Dim sSearchFor, st, st0, sRegTmp, sOutTmp, eRegLine, iCnt, sRegKey, aRegFileLines, stroca, isDel, delLine, delLines, resbox
Dim wssh : Set wssh = CreateObject("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")

sSearchFor = InputBox("Enter a search word." &vbcrlf&vbcrlf& "Below Enter the Registry Key or Hive Name, it you want Find and Deleted", "Registry Finder")
If sSearchFor = "" Then Cleanup()
 
Dim StartTime : StartTime = Timer
 
sRegTmp = wssh.Environment("Process")("Temp") & "\RegTmp.tmp "
sOutTmp="ScanReport  "&sSearchFor&".txt"

wssh.Run "regedit /e /a " & sRegTmp, , True 
aRegFileLines = Split(FSO.GetFile(sRegTmp).OpenAsTextStream(1, 0).Read(FSO.GetFile(sRegTmp).Size), vbcrlf)
FSO.DeleteFile(sRegTmp)

Dim txt : Set txt = fso.OpenTextFile(sOutTmp,2,True)

txt.WriteLine "Result of found Registry Hives"&vbcrlf&"Below we are able to delete records that we want to leave alive"&vbcrlf&"==============================================================="&vbcrlf&""

For Each eRegLine in aRegFileLines
On Error Resume Next
  If InStr(1, eRegLine, "[", 1) > 0 Then
    sRegKey = eRegLine
  end if
  If InStr(1, eRegLine, sSearchFor, 1) >  0 Then
    If sRegKey <> eRegLine Then
      st0=Split(eRegLine,"=")           
      st=Replace(st0(0),"""","")        
      stroca=Mid(sRegKey,2)
      stroca=Replace (stroca,"]","",1)  
      txt.WriteLine stroca &"\"& st     
    else
      stroca=Mid(sRegKey,2) 
      stroca=Replace (stroca,"]"," ",1)
      stroca =Trim(stroca)
      txt.WriteLine stroca & "\"        
    End If                             
    iCnt = iCnt + 1
  End If
Next

txt.Close
Erase aRegFileLines
 
If iCnt < 1 Then
  wssh.Popup "Search lasted  " & FormatNumber(Timer - StartTime, 0) & " sec. " & _
             "On request " & chr(34) & sSearchFor & chr(34) & _
             " nothing found.",, "Registry Finder", 4096
  FSO.DeleteFile(sOutTmp)
  Cleanup()
End If
 
wssh.Popup "Search lasted " & FormatNumber(Timer - StartTime, 0) & " sec. " & _
          iCnt & " matches on request " & chr(34) & sSearchFor & chr(34),, _
          "Registry Finder", 4096
 
wssh.Run "NotePad " & sOutTmp, 3, True 'Open with Notepad with a report to removal

delLines = Split(FSO.OpenTextFile(sOutTmp,1).ReadAll, vbcrlf)
For Each delLine in delLines
  if Left(delLine,1)<>"<" then
   Err.Clear
   wssh.RegDelete delLine
   If Err.Number<>0 then
      Err.Clear : wssh.RegRead delLine
      if Err.Number=0 then
        resbox=resbox&delLine&vbCrLf&vbCrLf
      end if
   End if
  end if
Next
if resbox<>"" then resbox="The following lines failed to remove:"&vbCrLf&resbox

isDel=wssh.Popup(resbox&"Save Report",, _
                 "Report", 36)
if isDel=7 then FSO.DeleteFile(sOutTmp)
Cleanup()
 
Sub Cleanup()
  Set wssh = Nothing
  Set FSO = Nothing
  WScript.Quit
End Sub

Отправлено: 23:46, 07-08-2015 | #2



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

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


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


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

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


Если нужен именно BAT, то рекомендую изучить команду REG. Вместе с возможностями команды for /F она позволяет много чего вытащить из реестра.

-------
Разумный человек приспосабливается к миру, неразумный пытается приспособить мир к себе. Поэтому прогресс делают люди неразумные. (Дж. Б. Шоу)


Отправлено: 16:07, 08-08-2015 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Можно ли с помощю, (.bat) скрипта узнать связанные ветки реестра программы

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Можно ли с помощю (.bat) кода узнать MD5 файла? turbolover Скриптовые языки администрирования Windows 19 18-10-2018 19:30
[решено] скрипт изменения значения ветки реестра в процессе установки программы adima AutoIt 7 27-03-2012 09:38
экспорт ветки реестра фотошопа koss Хочу все знать 6 03-07-2010 23:39
Права на ветки реестра. FerFel Microsoft Windows NT/2000/2003 10 25-01-2010 19:44
разрешения на ветки реестра maxtravilov Автоматическая установка Windows 2000/XP/2003 1 27-10-2005 21:44




 
Переход