5

Есть ли инструмент или метод, с помощью которого я могу искать в реестре Windows с помощью регулярных выражений?

5 ответов5

8

Вы можете использовать PowerShell с -match:

dir HKCU:\ -rec -ea SilentlyContinue |   

ForEach-Object {   
       if((get-itemproperty -Path $_.PsPath) -match "\wSomestring\w")  
    {   
          $_.PsPath
    }   
} 

Это будет искать улей HKEY_CURRENT_USER .

4

Бесплатная утилита RegAlyzer выполняет поиск по подстроке, подстановочному знаку (* ,?), логическому (ИЛИ НЕ) и регулярному выражению:

RegAlyzer - это инструмент для просмотра и изменения реестра. Он был создан из-за нескольких функций, которые мы пропустили в оригинальном инструменте regedit, от поддержки экзотических типов значений по фону и поиска по регулярным выражениям до лучших закладок, отображения файлов .reg в привычном стиле и представления истории.

образ

3

Если это просто вопрос поиска без изменения чего-либо (без поиска и замены), экспортируйте весь реестр в файл .reg и используйте ваш любимый текстовый редактор, который поддерживает регулярные выражения (Notepad++, Textpad, PSPad, ...).

Чтобы экспортировать весь реестр, щелкните правой кнопкой мыши узел «Компьютер» в редакторе реестра и выберите «Экспорт».

Осторожно, экспортированный файл может быть огромным. Я только что попробовал, и файл был 250 МБ.

Обновление кодировки: В WinXP file утилита cygwin сообщает об экспортированных данных в виде Unicode text, UTF-16, little-endian .

1

Вы можете использовать Cygwin.

Откройте терминал Cygwin и используйте эти команды:

cd /proc/registry32/HKEY_LOCAL_MACHINE
find . -name "*something*"
0

Даже reg.exe кажется, не поддерживает его, но это может помочь получить список для обработки с помощью других инструментов командной строки. Смотрите reg.exe query.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .