Запрос реестра — файл Bat

Я хочу просмотреть все записи реестра по определенному пути и посмотреть, соответствуют ли какие-либо из них строке. У меня есть следующая команда файла bat:

reg query HKLM /f Software\Microsoft\Windows\CurrentVersion\Uninstall /v ProductName /s|findstr /r "abc - def (x64)"

Я использую %errorlevel% для определения вывода вышеуказанной команды. Ожидается 0, когда найден точно соответствующий реестр, и ненулевое значение, если такой реестр не найден.

Однако я получаю 0 в обоих случаях, то есть реестр соответствует строке или нет.

Не могли бы вы предложить какие-либо исправления в моей команде bat.


person ViV    schedule 10.07.2014    source источник
comment
Вы ищете abc ИЛИ дефис ИЛИ def ИЛИ x64? Ты же знаешь, что Рег может искать сам. См. /f/k и /d).   -  person Noodles    schedule 10.07.2014
comment
Вот некоторые детали, которые я разместил - первая половина из справки, вторая половина моих материалов. stackoverflow.com/questions/23079758/   -  person Noodles    schedule 10.07.2014
comment
@ Лапша .. Спасибо за ответ. Я уже использую /f в команде Reg Query. Я ищу реестр, в котором "ProductName" соответствует строке abc - def (x64). Я перебираю все записи в указанном пути реестра, но findstr не соответствует буквальной строке поиска.   -  person ViV    schedule 11.07.2014
comment
Вы избегаете скобок? (x64)   -  person Noodles    schedule 14.07.2014
comment
Нет, я не убегаю от них. Я использую ту же строку, что и в вопросе   -  person ViV    schedule 14.07.2014
comment
Вы читаете что-нибудь, что я говорю. Вы ищете abc ИЛИ дефис ИЛИ def ИЛИ x64   -  person Noodles    schedule 16.07.2014