Título: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: Davigotchi en 25 Febrero 2020, 20:05 pm Buenas tardes a todos:
Quería hacer un batch sencillo en el cual se pueda comparar un valor concreto de una cadena del registro de windows... estoy mirando REG QUERY y REG COMPARE y me estoy volviendo loco :( Quería exactamente saber el valor de este registro (Se consultarlo de esta manera): REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2" /v "1004" Y me devuelve: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2 1004 REG_DWORD 0x3 - Es decir que el valor de "1004" es 0x3 Entonces quería hacer un batch en el cual si el valor de "1004" es diferente a "0x3" pues por ejemplo ejecutar un "REG IMPORT C:\IE11.reg" (Es decir que cuando el valor "1004" es diferente a "0x3" pues importo toda la configuración que tengo como por defecto de un archivo .REG)... Espero haberme explicado bien. Alguien me podría ayudar¿? Muchisimas gracias por adelantado. Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: Davigotchi en 25 Febrero 2020, 21:02 pm Buenas tardes de nuevo:
Estoy mirando con vbscript... a ver que tal se me dá, jajaja Creo que con el comando "RegRead"... Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: EdePC en 26 Febrero 2020, 02:29 am Saludos,
- En Batch se acostumbra resolverse la vida usando Find para encontrar cosas: Código - También podrías usar For /F para filtrar el resultado de un comando y sacar tokens para subdividirlo: Código Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: .:Xx4NG3LxX:. en 26 Febrero 2020, 02:56 am El Find, siempre tan confiable...
Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: Davigotchi en 26 Febrero 2020, 17:34 pm Buenas tardes:
Muchísimas gracias. Sois unos cracks. Tmb estuve con vbs y conseguí lo siguiente: Dim WshShell, bKey Set WshShell = WScript.CreateObject("WScript.Shell") Dim valor Set objshell = createobject("wscript.shell") Valor = objshell.regread("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2\1004") If valor <> 0 then WshShell. RegWrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2\1004", 0, "REG_DWORD" End if Pero ahora si la clave a comparar no existe me da un error y yo querría que si el VALOR es Distinto de CERO o NO EXISTE... se ejecute... Alguna idea¿?¿? Gracias de nuevooooo Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: EdePC en 26 Febrero 2020, 23:36 pm - Cuando ocurre un error en VBScript se actualiza el Objeto Err con unos atributos, de los cuales se puede resaltar Err.Number y Err.Description, estos muestra un número entero distintivo y un mensaje de error distintivo correspondientemente.
- Para tomar el control de errores en VBScript se hace uso de la sentencia On Error Resume Next, de tal manera que al producirse un error no se muestra dicho error, sino, se continúa con la siguiente instrucción esperando a que el programador ponga las instrucciones adecuadas para "tomar el control" en caso de dicho error. Luego se restablece el Objeto Err con Err.Clear. Código
Título: Re: [AYUDA] [BATCH] Batch sencillo para comparar un valor del registro de windows Publicado por: Davigotchi en 27 Febrero 2020, 20:40 pm Buenas tardes:
Muchiiiisimas gracias. A parte de funcionar perfectamente, ya lo he adaptado a lo que necesito... Perfectamente explicado y entendido. Muchas gracias de nuevo. Un crack si señor. :) |