Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление всех упоминаний программы в реестре с помощью командного файла (http://forum.oszone.net/showthread.php?t=232030)

Oleg48 04-04-2012 12:27 1893208

Удаление всех упоминаний программы в реестре с помощью командного файла
 
Уважаемые форумчане после установки-удаления программ в реестре системы некоторые недобросовестные производители программного обеспечения оставляют после своей программы огромную кучу различного хлама: разделы которые уже ненужны, настройки которые могут повлиять на установку других программ. Хочу попросить вас помощи в создании, или уже готовый вариант командного файла, с помощью которого можно найти все упоминания во всех названиях разделов, ключей и обязательно параметров реестра, например слова: yandex. Найденные упоминания удалить. Буду очень благодарен

Iska 04-04-2012 14:12 1893293

Oleg48, уходите от такого подхода:
Цитата:

Цитата Oleg48
с помощью которого можно найти все упоминания во всех названиях разделов, ключей и обязательно параметров реестра, например слова: yandex. Найденные упоминания удалить. »

Это много хуже любых существующих чистилок реестра. Те хоть какое-то подобие анализа пытаются делать. А у Вас — сразу «найти всё и удалить».

Oleg48 04-04-2012 15:56 1893365

Цитата:

Цитата Iska
Это много хуже любых существующих чистилок реестра »

Согласен, именно такого эфекта хочу добиться. И слово yandex, непросто приводится в примере. На чистой системе в реестре нет ни одного упоминания Yandex, однако после установки-удаления Яндекс.Бар для IE в реестре остается около 53 упоминаний. В дальнейшем при установке Opera появляется Яндекс.Панель, Яндекс.Поиск и мои закладки на экспресс панели Opera почему-то заменяются только одной вкладкой яндекса, поэтому и нужно сделать полное глобальное удаление этого мусора.

Iska 04-04-2012 16:29 1893386

Я Вам про сам метод и Ваш подход, а Вы мне: «на чистой системе слово «Yandex» не встречается».

Остаюсь при своём мнении:

1) «мусор» просто не надо устанавливать;
2) зачищать следы нужно «ручками», рассмотрев внутренности установщика и приложения, при тщательном анализе возможных последствий каждого удаления.

Oleg48 04-04-2012 16:41 1893403

Iska, спорить с Вами небуду, я нехочу навязать Вам свое мнение, просто если можете помоч то помогите, нет так нет.

mihsam 06-04-2012 16:08 1894720

Не хочешь ручками,поставь Uninstall Tool и удали бар,дождись окончания работы пока не выскочит запрос:удалить оставленные программой записи,нажми да,вот и все.

Oleg48 06-04-2012 19:07 1894806

Цитата:

Цитата mihsam
Не хочешь ручками,поставь Uninstall Tool и удали бар,дождись окончания работы пока не выскочит запрос:удалить оставленные программой записи,нажми да,вот и все. »

mihsam, ....Скриптовые языки администрирования Windows для того и существуют что-бы не делать ручками рутинные операции, а написать скрипт и чтобы он все операции делал за тебя. Если тебе интерестно то Яндекс.Бар я удаляю с помощью WMI одной простой строчкой:
Код:

WMIC PRODUCT "Яндекс.Бар 6.5 для Internet Explorer" CALL UNINSTALL
Удаляет на ура, только остаются в реестре упоминания Яндекса, которые приходится удалять с помощью такого REG-файла
Код:

Windows Registry Editor Version 5.00   
[-HKEY_USERS\.DEFAULT\Software\Yandex]   
[-HKEY_USERS\S-1-5-18\Software\Yandex]     
[-HKEY_CURRENT_USER\Software\Yandex]   
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\Yandex]   
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{95F663C0-C370-4955-8B39-63069DB1F6C0}]     
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{E5A432E4-A349-4F4F-9FBE-B07A2592A629}]

Такой подход к удалению Яндекс.Бар немного топорный, да и дополнительный REG-файл нужно создавать, хочется что-бы все было компактно в одном командном файле, и главное такое удаление нужно для WPI-установки других программ, что естественно исключает любые действия пользователя.

mihsam 07-04-2012 11:12 1895033

Ну кому нужен этот гемор,если одна небольшая программа удаляет и программу и подчищяет реестр,для надежности можно просмотреть после удаления реестр, но как правило если это нормальная прогамма,я говорю о Uninstall Tool,а не какой нибудь repac,удаление проходит чисто.

intelem 07-04-2012 19:58 1895283

Наверное всё таки это разумней решить перепаковкой программ содержащих Яндекс.Бар, заодно и WPI облегчить...

DesmondTruman 07-04-2012 22:30 1895364

Цитата:

Цитата Oleg48
да и дополнительный REG-файл нужно создавать, хочется что-бы все было компактно в одном командном файле,

Тогда можно сразу в батнике использовать команду reg delete.

Oleg48 07-04-2012 23:47 1895394

Цитата:

Цитата mihsam
Ну кому нужен этот гемор,если одна небольшая программа удаляет и программу и подчищяет реестр »

mihsam, мы разговариваем на разных языках, если я ставлю программу автоматически в день до 10-15 раз и у меня нет времени и желания каждый раз удалять Яндекс.Бар с помощью Uninstall Tool и чистить реестр этой программой или вручную то для этого и пишуться командные файлы которые должны делать эту геморойную работу автоматически, надоело вам обьяснять азбучные истины.
Цитата:

Цитата intelem
Наверное всё таки это разумней решить перепаковкой программ содержащих Яндекс.Бар, заодно и WPI облегчить... »

Согласен наверно придется перепаковывать хотя это и занимает много времени.

Iska 08-04-2012 01:42 1895431

Oleg48, этот подход:
Цитата:

Цитата Oleg48
Яндекс.Бар я удаляю с помощью WMI одной простой строчкой:

…остаются в реестре упоминания Яндекса, которые приходится удалять с помощью такого REG-файла »

вполне имеет право на жизнь, ибо Вы удаляете конкретные, известные и заранее проверенные параметры и разделы. Подход, озвученный в самом начале — «всё и отовсюду» — нет.

yurfed 08-04-2012 01:57 1895435

Oleg48, есть готовая программа, которая ищет глобально по реестру.
поиск и замена строк в реестре



Но учтите, всё, что вы делаете, вы делаете на свой страх и риск
Вот ещё
VBS/WSH/JS - [решено] Поиск и замена индивидуальных данных в реестре

Setser 07-08-2015 07:14 2538192

А как насчет автоматического поиска по слову, вывод списка, убираем галки которые не нужны, где глаки стоят удаляем одной кнопкой.
у меня проблема с MapInfo. Сижу руками в реестре жму Ctrl+f - mapinfo, enter, находит ключ, смотрю, DEL, enter, Ctrl+f .......... Этих ключей в реестре целая помойка! А мне нужно удалить все следы мапинфо совсем. Было бы хорошо все ключи вывести списком и проверив список снести к черт... все сразу. Сижу уже два часа ((
Вообще проблема в удалении\установке мап инфо. Из деспетчера не удаляется. fixit matskb зависает. Только принудительно Uninstall Tool получилось удалить и само собой кучу мусора осталось который не позволяет установить мапинфо заново. Вот сижу руками удаляю.. Бывает такое иногда. Поэтому присоединяюсь к вопросу автора о такой мелкой утилите со списком и удалением одной кнопкой.

Setser 07-08-2015 07:32 2538201

ОПА! в AVZ есть утилита то как я написал! Поиск данных в реестре так и называется. отмечаем галками и удаляем.

turbolover 07-08-2015 23:44 2538632

Поиск и удаления ключей и веток реестра с помощю, (.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


usbdrive 10-08-2015 12:21 2539589

Цитата:

Цитата Setser
ОПА! в AVZ есть утилита то как я написал! Поиск данных в реестре так и называется. отмечаем галками и удаляем. »

Да, отлично работает. Сэнкс. :up
Обычно пользуюсь этой - очень понравилась скорость поиска http://www.nirsoft.net/utils/regscanner.html


Время: 17:05.

Время: 17:05.
© OSzone.net 2001-