NorfiPC
NorfiPC » Comandos Windows » Modificar el Registro

Como modificar claves y valores del Registro usando la línea de comandos y archivos batch

Como modificar y cambiar claves y valores del Registro de Windows mediante la línea de comandos, la consola de CMD o usando archivos batch, códigos y ejemplos prácticos.
Modificar el Registro usando la línea de comandos

Mediante la línea de comandos es posible modificar, editar y cambiar cualquier valor o clave del Registro de Windows, sin tener que utilizar la herramienta Regedit.
Aunque el método más fácil y práctico es crear un archivo REG para agregarlo al Registro, tenemos siempre la alternativa de la línea de comandos, que en ocasiones es el método ideal o el único posible.
Por ejemplo en los casos que no hay acceso a Regedit debido a la modificación de claves por malware o para crear aplicaciones ejecutables o archivos batch, en las que la función que deseamos ejecutar, requiere la modificación de un valor en el registro.
Para editar el registro está disponible en la consola de CMD el comando REG con varios subcomandos para usos específicos, su empleo no es difícil, pero por supuesto requiere de un cuidado especial la revisión de la sintaxis del cualquier código antes de ejecutarlo, por lo delicado de su objetivo y posible efecto desastroso.
También está disponible el comando REGEDIT para importar, exportar o eliminar configuraciones en el registro desde un archivo de texto plano .REG.
Si accedes a esta página directamente desde internet y no tienes experiencia previa en la edición del Registro, se recomienda que antes de tomar cualquier decisión, leas una página anterior de este sitio, en la cual se explican algunas de las reglas esenciales del trabajo con Regedit y el Registro de Windows.
Como modificar y editar el registro de Windows, lo que debes de saber


Como usar el comando REG para modificar claves y valores del Registro


El comando REG se compone de varios sub comandos, cada uno para un uso completamente diferente como se documentará mas adelante, de ellos REG QUERY, REG ADD, REG DELETE y REG COPY se pueden utilizar para hacer modificaciones en equipos remotos en la red, solo es necesario agregar \\NombreEquipo suponiendo que el servicio Registro Remoto (RemoteRegistry) este ejecutándose. Si no es así siempre es posible iniciarlo ejecutando el comando: NET START RemoteRegistry.
Para el uso en la red sólo están disponibles las ramas del registro HKLM y HKU.
Los restantes sub comandos solo están disponibles para su uso en el equipo local.
Comando Empleo
REG QUERYInquiere el valor de una clave
REG ADDAgrega una clave o valor
REG DELETEAgrega una clave o valor
REG COPYCopia claves y valores desde y hacia otro equipo o en el equipo local
REG SAVE Guarda claves del registro en archivos .HIV locales (archivo de subárbol)
REG RESTORERestaura archivo de subárbol que han sido guardados
REG LOAD, REG UNLOADTransfieren y mueven claves dentro del registro
REG COMPARECompara claves y valores dentro del registro
REG EXPORTExporta claves, subclaves y valores a un archivo REG
REG IMPORTImporta los datos exportados previamente desde un archivo REG
REG FLAGS


¿Cómo utilizar los comandos REG ADD y REG DELETE?


Una breve explicación de las posibilidades de empleo de los comandos REG ADD y REG DELETE, al ser los de uso más frecuentes en el equipo local.

Sintaxis
REG ADD Clave /v NombreValor /t TipoDato  /d Dato  [/f]
REG DELETE Clave /v NombreValor [/f]

Opciones
• /v Nombre del valor de clave seleccionada
• /s Se especifican todas las subclaves y valores de forma recursiva
• /f Fuerza la sobre escritura o eliminación sin avisar (opcional)
• /ve Establece valor vacio predeterminado (REG ADD)
• /d Datos que se asignan al nombre de valor (REG ADD)
• /va Elimina todos los valores en la clave actual (REG DELETE)
• /t Tipos de datos. Los tipos válidos son:
REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
Si se omite al usar el comando REG ADD, se asume que es REG_SZ.

En todos los casos se pueden usar las siguientes abreviaturas:
HKEY_CURRENT_USER = HKCU
HKEY_LOCAL_MACHINE = HKLM


Ejemplos del uso de los comandos REG ADD y REG DELETE.


Los siguientes ejemplos permiten comprender las diferencias y similitudes entre la creación de una clave del registro mediante un archivo REG y con un archivo batch que utiliza el comando REG ADD.

Crear valores mediante el comando REG ADD

En el primer caso se crea un valor vacío Predeterminado
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Prueba]
@="" 
@echo off
REG ADD "HKCU\Prueba" /ve /f

En este caso se crea un valor Predeterminado con datos
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Prueba]
@="Dato"
@echo off
REG ADD "HKCU\Prueba" /ve /t REG_SZ /d "Dato" /f

En este caso un valor DWORD de valor 1.
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Prueba]
"test"=dword:1
@echo off
REG ADD "HKCU\Prueba" /v  test /t REG_DWORD /d 1  /f


Deshabilitar y habilitar el Administrador de tareas

Se agrega una entrada para deshabilitar el Administrador de tareas de Windows
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v DisableTaskMgr /t REG_DWORD /d 1 /f
Se elimina la entrada anterior
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v DisableTaskMgr /f


Agregar una aplicación en el inicio de Windows

Se agrega una entrada al registro para iniciar el archivo batch nombrado "aviso.cmd" que supuestamente se encuentra en la unidad C: con Windows.
REG ADD HKCU \Software\Microsoft\Windows\CurrentVersion\Run /v IniciarProgramas /t REG_SZ /d "C:\aviso.cmd"



Usar el comando REG en un archivo batch


Una broma que sirve de ejemplo práctico de cómo usar el comando REG en un archivo batch.
Crea en la carpeta TEMP un archivo batch y a continuación agrega una entrada en el Registro para que se ejecute en el inicio de Windows.
El batch contiene un simple mensaje, "Eres una tonta, Todos los días veras esto....".
No hace ningún daño, fue creado solo con objetivos pedagógicos, la entrada se puede desactivar fácilmente usando la herramienta MSCONFIG o comentando una línea del archivo batch que elimina la entrada anterior.
Por otra parte el archivo batch creado en la carpeta Temp será eliminado completamente al Liberar espacio en disco.
Nos da una idea de lo que se puede lograr con un simple archivo batch, por lo que antes de ejecutarlos es mejor siempre mirar el código y si no estamos seguros y aparece el comando REG por algún lado, no ejecutarlos.
Para descomentar la línea final del archivo batch que elimina la entrada creada, solo es necesario quitar los dos puntos al comienzo de dicha línea.
@echo off
echo @echo off >%temp%\tonta.cmd
echo echo Eres una tonta >>%temp%\tonta.cmd
echo echo Todos los dias veras esto.....>>%temp%\tonta.cmd
echo echo.>>%temp%\tonta.cmd
echo pause^>nul>>%temp%\tonta.cmd

REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v tonta /t REG_SZ /d "%temp%\tonta.cmd"

::REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v tonta /f 

Ejemplos del usos de los comandos REG EXPORT y REG IMPORT


Como exportar la configuración de los servicios del usuario en un archivo REG y despues importalos al registro.
REG EXPORT HKLM\SYSTEM\CurrentControlSet\Services C:\Servicios.reg
REG IMPORT C:\Servicios.reg
Los datos del registro que se encuentren en la clave HKCU se podrán ver y modificar por el usuario de la sesión actual.
Los datos del registro que se encuentren en la clave HKLM se podrán ver por todos los usuarios, pero solo podrán ser modificados por el administrador.



¿Cómo usar el comando REGEDIT?


El comando REGEDIT permite importar, exportar o eliminar configuraciones en el registro desde un archivo de texto plano .REG.

Opciones:
REGEDIT Abre el editor del registro
REGEDIT /E ruta Exporta el registro
REGEDIT /E ruta "Rama" Exporta parte del registro, sustituye Rama por el árbol correspondiente
REGEDIT ruta Importa un archivo REG
REGEDIT /S ruta Importa un archivo REG de forma silenciosa

¿Cómo agregar claves y valores al registro con un archivo REG?

Crea un archivo de texto con los siguientes valores y guárdalo con la extensión de archivo: .reg (respeta la línea en blanco)
Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Clave]
"Cadena o Valor"="Valor"


¿Cómo eliminar claves y valores del registro con un archivo REG?

Inserta en el archivo REG un signo menos después del primer corchete, por ejemplo para eliminar la clave anterior usa:
Windows Registry Editor Version 5.00 

[-HKEY_CURRENT_USER\Clave]
Los comentarios en los archivos REG pueden crearse si la línea que los contiene es antecedida o iniciada con el carácter ";"

Ejemplos del uso del comando REGEDIT


1- Para guardar una copia solo de la rama HKEY_CURRENT_USER usa:
REGEDIT /E C:\Backup\copia.reg  "HKEY_CURRENT_USER"

2- Para guardar una copia completa del registro usa:
REGEDIT /E C:\Backup\copia.reg

3- Para restaurar una copia guardada del registro usa:
REGEDIT C:\Backup\copia.reg

Finalmente si te interesa toda la información de los comandos anteriores crea un archivo batch con el siguiente código que escribirá todas las opciones de estos comandos a un único archivo de texto creado en el escritorio nombrado "opciones-reg.doc".
@echo off
REG QUERY /?>reg.doc
REG ADD /?>>reg.doc
REG DELETE /?>>reg.doc
REG COPY /?>>reg.doc
REG SAVE /?>>reg.doc
REG RESTORE /?>>reg.doc
REG LOAD /?>>reg.doc
REG UNLOAD /?>>reg.doc
REG COMPARE /?>>reg.doc
REG EXPORT /?>>reg.doc
REG IMPORT /?>>reg.doc
REG FLAGS /?>>reg.doc 
REGEDIT /?>>%userprofile%\Desktop\opciones-reg.doc   


Modificar el Registro de Windows usando VBScript
Otra forma de crear, cambiar los valores o de eliminar claves, es usando scripts hechos en el lenguaje VBScript.
Para conocer cómo hacerlo y probar varios códigos de ejemplo, accede a la siguiente página:
Modificar el Registro de Windows usando scripts creados en VBScript

Páginas relacionadas