web-dev-qa-db-ja.com

複数のWindowsレジストリエントリを見つけて削除する方法

プログラムを手動で削除した後、Windowsレジストリをクリーンアップする必要があります。私がしなければならないことは以下の通りです。

  1. 「何か」を含むすべてのキー、値、およびデータを検索します。
  2. 説明に一致するすべてのキー、値、およびデータを削除します。

CMDでRegコマンドをどうにかして使用できますか?

この場合の「何か」とは、「office12」を意味します。

10
Samir

Powershellを試す:

Get-ChildItem -path HKLM:\ -Recurse | where { $_.Name -match 'office12'} | Remove-Item -Force

これは、HKEY_LOCAL_MACHINEを再帰的にスローし、一致するすべてのキーを削除します。詳細 ここ

7

RegScanner と呼ばれるアプリケーションが役立つと思いますが、他の回答に記載されているように、レジストリで実行したいこととは正確に一致しない場合があるため、注意して使用してください。

より破壊的なパワーを得るには、 PsExec を使用できます。

C:\progs\PsExec.exe -i -d -s c:\progs\regscanner-x64\regscanner.exe

sYSTEMユーザーとして実行します。それでも一部のレジストリキーを削除できない場合は、この記事で レジストリキーのアクセス許可を編集する方法 について説明します。

5
analytik

コメントで述べたように、レジストリキーは コマンドプロンプト を使用するか、Regeditを使用して手動で削除できます。今、大きな問題はあなたの最初のポイントです。

  1. 「何か」を含むすべてのキー、値、およびデータを検索します。

プログラムのインストール時にレジストリを監視/監査していない限り(そして、実行時にプログラムがレジストリキーを追加しなかった場合、レジストリを最初から最後まで監視する必要がある場合)、プログラムが追加された可能性があります。明白ではない場所のレジストリへのキー。

ほとんどのプログラムは、専用のブランチのHKEY_CURRENT_USERS\SoftwareまたはHKEY_LOCAL_MACHINE\Softwareにレジストリキーを追加します(たとえば、最初のパスにあるwxMaximaを探しています)。対応するブランチを削除した場合、理論的にはプログラムに関連付けられているすべてのキーを削除できます。ただし、一部のプログラムでは、レジストリの残りの部分でどこかを変更する可能性があります。これはにない良い経験則。

一方、すべてを監視した場合、変更内容を元に戻すことは簡単です(変更内容がわかっているため)。仮想環境にプログラムを再インストールしてそこで監視できると思います。理論的には、同じ結果が得られます。

REGヘルプを読むと、1で提案したことを実行するためのオプションはありません。REG QUERYは、レジストリキー内の値をチェックすることです。使用法を貼り付けるには:

C:\Documents and Settings\User>reg query HKCU\Software\wxMaxima

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\wxMaxima
    ShowTips    REG_DWORD       0x1
    tipNum      REG_DWORD       0xb
    pos-x       REG_DWORD       0xfffffffc
    pos-y       REG_DWORD       0xfffffffc
    pos-w       REG_DWORD       0x408
    pos-h       REG_DWORD       0x2ea
    pos-max     REG_DWORD       0x1
    lastPath    REG_SZ  (some random path)
    maxima      REG_SZ  C:\Maxima\\bin\maxima.bat
    parameters  REG_SZ  -X '--dynamic-space-size 1000'
    fontSize    REG_DWORD       0xc
    mathFontsize        REG_DWORD       0xc
    matchParens REG_DWORD       0x1
    showLong    REG_DWORD       0x0
    fixedFontTC REG_DWORD       0x1
    changeAsterisk      REG_DWORD       0x0
    enterEvaluates      REG_DWORD       0x0
    saveUntitled        REG_DWORD       0x1
    openHCaret  REG_DWORD       0x0
    defaultPort REG_DWORD       0xfaa
    usejsmath   REG_DWORD       0x1
    keepPercent REG_DWORD       0x1
    pos-restore REG_DWORD       0x0
    language    REG_DWORD       0x0
    fontEncoding        REG_DWORD       0x0

HKEY_CURRENT_USER\Software\wxMaxima\AUI

HKEY_CURRENT_USER\Software\wxMaxima\RecentDocuments

HKEY_CURRENT_USER\Software\wxMaxima\Style

HKEY_CURRENT_USER\Software\wxMaxima\Wiz

解決策を探しています。私が見つけた1つは、レジストリをテキストファイルにエクスポートし、そこから結果をフィルター処理することです。

1

アンインストール中に、RevoUninstallerを使用し、次にCCleanerを使用します。これは、ほぼすべての参照を比較的安全に取得します。

0
T.Todua