Duda para comprobar si existe clave del registro con .bat

Iniciado por edunardo, 3 Septiembre 2008, 23:24 PM

0 Miembros y 1 Visitante están viendo este tema.

edunardo

Hola a todos, hace mucho que no programo y tengo alguna duda...

Quiero hacer un bat que me compare el valor de una clave del registro, en caso de que exista se termina el bat en caso de que no la sustituyo...

Se que es con reg add para meterla y con reg query para consultar si existe, pero no se como meter esto dentro del if...

Muchas gracias.

carlitos.dll

#1
Código (DOS) [Seleccionar]

@echo off
reg.exe query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "NeroFilterCheck" >NUL 2>&1 && (
::code en caso de que si exista
echo Si existe
) || (
:: code en caso de que no exista
echo No existe
)



edunardo

Gracias carlitos.dll ¡¡¡
Podrias explicarme esta parte?

>NUL 2>&1 &&

Y si no es mucho pedir, se podría meter en un if... es decir...

algo asi como if reg query "xxxxxxxxxxxxxxxxxx
MUCHAS GRACIAS

carlitos.dll

#3
es que ese && es como un if y el || es como un else, aunque son operadores lógicos.

Información de redirección:
http://technet.microsoft.com/es-cl/library/bb490982(en-us).aspx
http://www.ss64.com/ntsyntax/redirection.html

Si lo quieres con un if, podrías hacerlo así:

Código (DOS) [Seleccionar]

@echo off
setlocal
reg.exe query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "NeroFilterCheck" >NUL 2>&1 && (set /a existe=1) || (set /a existe=0)
if "%existe%"=="1" (
::code en caso de que si exista
echo Si existe
) else (
::code en caso de que no exista
echo No existe
)
endlocal