2016-06-06 2 views
0

Я пытаюсь определить, в пакетном файле, если конкретный ключ реестра:Reg запрос с командой поиска и символом процента стоимости

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion/об DevicePath

в Windows, содержит следующее значение:

% SystemRoot% \ Inf

код у меня до сих пор:

reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath | find "%SystemRoot%\inf" 

К сожалению,% errorlevel% всегда возвращает 1, а не 0, несмотря на несколько попыток игры с помощью команды, добавления и удаления символов% и escape. Может ли кто-нибудь помочь, пожалуйста? Есть ли лучший способ определить значение этого ключа?

ответ

0

избежать знаки процента пакетных файлов, удвоит их:

reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath |find "%%SystemRoot%%\inf" 
+0

Спасибо, я стараюсь, что и хотя он работает сам по себе он не работает в моей полной пакетном файле рег запрос HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion/v DevicePath | найти "%% SystemRoot %% \ inf" echo% errorlevel% Я все еще в итоге с 1? Странный. – Gaz

+0

отлично работает для меня. Это часть вашего кода внутри блока (в окружении '(' и ')' (например, внутри цикла 'for' или оператора' if')? – Stephan

+0

Я понял это. вызывающий sub, который установил errorlevel, так как выяснил это, это делает его бесполезным. После удаления всех операций с двойными знаками процента. – Gaz

Смежные вопросы