мне нужно использовать команду REG QUERY для просмотра значения ключа и установить результат в переменный с помощью следующей команды:Как получить значение раздела реестра из пакетного скрипта?
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B
Но если ключ оленьей кожи существует, я получаю ошибку, показанную на консоли. Мне нужно скрыть эту ошибку! Я попытался положить 2> NUL после команды, чтобы остановить поток ошибок, но это работает, если я только вызовите команду:
REG QUERY "KeyName" /v ValueName 2>nul
Если я положил его в использовании команды, как это:
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B 2>nul
Отображается ошибка. Так кто-нибудь знает, как скрыть ошибку? Или, может быть, еще одна команда тоже видит, существует ли ключ или нет?
Благодаря
PS: Я использую Windows XP
В Windows 7, мне нужно использовать 'пропустить = 2' – Saul
Это прекрасно работает, за исключением, что я нашел, что мне нужно изменить «skip = 4» - «skip = 2». Windows 7 x64 –
Вы можете заменить строку значением, не найденным со следующим, чтобы удалить уродливую двойную кавычку: @echo "% KEY_NAME:" =% \% VALUE_NAME% "не найден. –