Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: edunardo en 3 Septiembre 2008, 23:24 PM

Título: Duda para comprobar si existe clave del registro con .bat
Publicado por: edunardo en 3 Septiembre 2008, 23:24 PM
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.
Título: Re: Duda para comprobar si existe clave del registro con .bat
Publicado por: carlitos.dll en 4 Septiembre 2008, 04:45 AM
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
)


Título: Re: Duda para comprobar si existe clave del registro con .bat
Publicado por: edunardo en 4 Septiembre 2008, 15:41 PM
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
Título: Re: Duda para comprobar si existe clave del registro con .bat
Publicado por: carlitos.dll en 4 Septiembre 2008, 16:25 PM
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