reg - Trabajar con el Registro
El comando reg permite trabajar con el Registro de Windows. Puede ver, agregar, modificar y eliminar claves y valores desde el Símbolo del sistema o un archivo por lotes, igual que en el Editor del Registro (regedit).
Es útil cuando quiere automatizar un cambio de configuración o aplicar el mismo ajuste a varios equipos.
Si cambia el Registro de forma incorrecta, Windows o las aplicaciones pueden dejar de funcionar correctamente. Haga siempre una copia de seguridad con reg export antes de modificar o eliminar algo.
Conceptos básicos del Registro
El Registro es una base de datos que almacena la configuración de Windows y de las aplicaciones. Se compone de claves, que funcionan como carpetas, y de los valores (nombre, tipo y datos) almacenados en ellas.
Con el comando reg, una clave se especifica con una ruta como esta:
HKEY_CURRENT_USER\Software\MyApp
Para la clave raíz del principio de la ruta puede usar estas abreviaturas:
| Abreviatura | Nombre completo | Contenido |
|---|---|---|
HKLM | HKEY_LOCAL_MACHINE | Configuración que se aplica a todo el equipo |
HKCU | HKEY_CURRENT_USER | Configuración solo del usuario actual |
HKCR | HKEY_CLASSES_ROOT | Asociaciones de archivos y similares |
HKU | HKEY_USERS | Configuración de todos los usuarios |
HKCC | HKEY_CURRENT_CONFIG | La configuración de hardware actual |
HKCU contiene la configuración del usuario actual, por lo que puede modificarla con permisos normales. En cambio, escribir en HKLM requiere permisos de administrador. Sin ellos aparece “Acceso denegado”. Consulte los artículos relacionados para más detalles.
Sintaxis básica del comando reg
reg <operación> <nombre de clave> [opciones]
Las operaciones disponibles se indican a continuación. Este artículo se centra en las más usadas: query, add, delete, export e import.
| Operación | Descripción |
|---|---|
query | Muestra claves y valores |
add | Agrega claves y valores (los valores existentes se sobrescriben tras confirmar) |
delete | Elimina claves y valores |
export | Escribe una clave en un archivo .reg |
import | Carga el contenido de un archivo .reg en el Registro |
copy | Copia una clave a otra ubicación |
compare | Compara dos claves o valores |
save / restore | Guarda y restaura una clave como archivo binario |
load / unload | Carga un subárbol guardado en el Registro o lo descarga |
Si el nombre de una clave o de un valor contiene espacios, enciérrelo entre comillas dobles ("), como en "HKCU\Software\My App".
Mostrar claves y valores (reg query)
Mostrar el contenido de una clave
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
Muestra los valores y las subclaves que están directamente bajo la clave indicada. Esta clave contiene las aplicaciones que se inician automáticamente al iniciar sesión.
Cada línea muestra el nombre del valor, su tipo y sus datos, en ese orden.
Mostrar solo un valor concreto
Use /v para indicar el nombre del valor.
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Para mostrar el valor predeterminado, que no tiene nombre, use /ve en lugar de /v.
Mostrar o buscar incluyendo las subclaves
Con /s se muestra todo, incluidas las subclaves. Combínelo con /f para buscar texto.
reg query "HKCU\Software\MyApp" /s
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /s /f Chrome
Opciones de query
| Opción | Descripción |
|---|---|
/v nombre | Muestra solo el valor con el nombre indicado |
/ve | Muestra el valor predeterminado (sin nombre) |
/s | Muestra de forma recursiva, incluidas las subclaves |
/f texto | Texto que se busca (coincidencia parcial, sin distinguir mayúsculas por defecto) |
/k | Limita la búsqueda de /f a los nombres de clave |
/d | Limita la búsqueda de /f a los datos |
/c | Distingue mayúsculas y minúsculas en la búsqueda |
/e | Devuelve solo las coincidencias exactas |
/t tipo | Muestra solo los valores del tipo indicado |
Tipos de valores
Todo valor tiene un tipo, que se indica con /t en reg add.
| Tipo | Descripción |
|---|---|
REG_SZ | Una cadena (es el tipo predeterminado si se omite) |
REG_EXPAND_SZ | Una cadena que puede contener variables de entorno como %PATH% |
REG_MULTI_SZ | Varias cadenas (separadas por \0 de forma predeterminada) |
REG_DWORD | Un número de 32 bits, usado a menudo para ajustes de activado/desactivado (0 y 1) |
REG_QWORD | Un número de 64 bits |
REG_BINARY | Datos binarios |
REG_NONE | Sin tipo |
Agregar o modificar claves y valores (reg add)
reg add <nombre de clave> [/v nombre | /ve] [/t tipo] [/d datos] [/f]
Si la clave no existe, se crea junto con las claves intermedias. Si el valor indicado ya existe, se sobrescribe tras confirmar (agregue /f para sobrescribir sin confirmación).
reg add "HKCU\Software\MyApp" /v UserName /t REG_SZ /d "taro"
reg add "HKCU\Software\MyApp" /v Enabled /t REG_DWORD /d 1
Si la operación se realiza correctamente, aparece el mensaje “La operación se completó correctamente.”
Opciones de add
| Opción | Descripción |
|---|---|
/v nombre | Nombre del valor que se agrega |
/ve | Establece el valor predeterminado (sin nombre) |
/t tipo | Tipo del valor (REG_SZ si se omite) |
/d datos | Datos que se establecen (en REG_DWORD, un número decimal o hexadecimal que empiece por 0x) |
/s separador | Un carácter que separa las cadenas en REG_MULTI_SZ (predeterminado \0) |
/f | Sobrescribe un valor existente sin confirmación |
Si ejecuta reg add sobre un valor que ya existe, un mensaje de confirmación (Sí/No) pregunta si desea sobrescribirlo y el comando espera una respuesta. En un archivo por lotes que se ejecuta de forma automática, el script se detiene si no agrega /f.
Ejemplo: mostrar las extensiones de archivo
El ajuste que muestra las extensiones de archivo en el Explorador de archivos se guarda en un valor llamado HideFileExt. Si lo establece en 0, se muestran las extensiones.
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f
El ajuste surte efecto al volver a abrir el Explorador de archivos o al iniciar sesión de nuevo.
Eliminar claves y valores (reg delete)
reg delete "HKCU\Software\MyApp" /v UserName /f
reg delete "HKCU\Software\MyApp" /f
| Opción | Descripción |
|---|---|
/v nombre | Elimina solo el valor indicado |
/ve | Elimina el valor predeterminado (sin nombre) |
/va | Elimina todos los valores de la clave (las subclaves se conservan) |
/f | Elimina sin confirmación |
Si ejecuta reg delete sin ninguna de las opciones /v, /ve o /va, se elimina la clave con todas sus subclaves y valores. Con /f no aparece ninguna confirmación y no se puede deshacer. Compruebe el nombre de la clave y si falta /v antes de ejecutarlo.
Copia de seguridad y restauración (reg export / reg import)
Antes de modificar el Registro, escriba la clave de destino en un archivo .reg.
reg export "HKCU\Software\MyApp" "%USERPROFILE%\Desktop\myapp-backup.reg"
Si ya existe un archivo con el mismo nombre, se le pregunta si desea sobrescribirlo. Agregue /y para sobrescribir sin confirmación.
reg import "%USERPROFILE%\Desktop\myapp-backup.reg"
Al hacer doble clic en un archivo .reg exportado también se importa su contenido al Registro. Tenga en cuenta que reg import solo agrega o sobrescribe las claves y los valores escritos en el archivo; no elimina los valores que se agregaron después de la copia de seguridad. Para volver por completo al estado original, elimine primero la clave con reg delete y luego importe.
Uso en archivos por lotes
Leer un valor en una variable
La salida de reg query tiene la forma nombre del valor tipo datos. Con for /f puede dividirla por espacios y extraer los datos.
@echo off
set KEY=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
for /f "tokens=2*" %%a in ('reg query "%KEY%" /v ProductName ^| find "ProductName"') do set PRODUCT=%%b
echo Nombre del producto: %PRODUCT%
tokens=2* asigna el segundo elemento (el tipo) a %%a y todo lo que sigue (los datos) a %%b. Aunque los datos contengan espacios, %%b los recoge completos. Sin embargo, si el propio nombre del valor contiene espacios, las posiciones de los elementos cambian y este método no funciona.
Comprobar si existe una clave o un valor
reg query devuelve el código de salida 1 si el destino no existe. Puede aprovecharlo para comprobar la existencia.
@echo off
reg query "HKCU\Software\MyApp" /v Enabled >nul 2>&1
if errorlevel 1 (
echo No hay configuración. Se registra el valor predeterminado.
reg add "HKCU\Software\MyApp" /v Enabled /t REG_DWORD /d 1 /f >nul
) else (
echo Se encontró la configuración.
)
>nul 2>&1 oculta tanto la salida estándar como la salida de errores.
Vistas del Registro de 32 y 64 bits
En Windows de 64 bits, algunas claves como HKLM\SOFTWARE se dividen para que las aplicaciones de 32 bits vean una ubicación distinta (WOW6432Node). El comando reg tiene opciones para elegir en qué vista operar.
| Opción | Descripción |
|---|---|
/reg:32 | Opera en la vista del Registro de 32 bits |
/reg:64 | Opera en la vista del Registro de 64 bits |
reg query "HKLM\SOFTWARE\MyApp" /reg:32
Puede ser necesario indicarlo al trabajar con ajustes que lee y escribe una aplicación de 32 bits.
Resumen
| Lo que quiere hacer | Comando |
|---|---|
| Mostrar el contenido de una clave | reg query "nombre de clave" |
| Mostrar un valor concreto | reg query "nombre de clave" /v nombre del valor |
| Buscar por texto | reg query "nombre de clave" /s /f texto |
| Agregar o modificar un valor | reg add "nombre de clave" /v nombre /t tipo /d datos /f |
| Eliminar un valor | reg delete "nombre de clave" /v nombre /f |
| Eliminar una clave | reg delete "nombre de clave" /f |
| Hacer una copia de seguridad | reg export "nombre de clave" archivo.reg |
| Restaurar desde una copia de seguridad | reg import archivo.reg |