¿Es posible modificar un valor de registro (ya sea cadena o DWORD) mediante un script .bat/.cmd?¿Es posible modificar una entrada de registro mediante un script .bat/.cmd?
Respuesta
Usted puede utilizar el comando REG. De http://www.ss64.com/nt/reg.html:
Syntax:
REG QUERY [ROOT\]RegKey /v ValueName [/s]
REG QUERY [ROOT\]RegKey /ve --This returns the (default) value
REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
REG ADD [ROOT\]RegKey /ve [/d Data] [/f] -- Set the (default) value
REG DELETE [ROOT\]RegKey /v ValueName [/f]
REG DELETE [ROOT\]RegKey /ve [/f] -- Remove the (default) value
REG DELETE [ROOT\]RegKey /va [/f] -- Delete all values under this key
REG COPY [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey
REG EXPORT [ROOT\]RegKey FileName.reg
REG IMPORT FileName.reg
REG SAVE [ROOT\]RegKey FileName.hiv
REG RESTORE \\MachineName\[ROOT]\KeyName FileName.hiv
REG LOAD FileName KeyName
REG UNLOAD KeyName
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]
Key:
ROOT :
HKLM = HKey_Local_machine (default)
HKCU = HKey_current_user
HKU = HKey_users
HKCR = HKey_classes_root
ValueName : The value, under the selected RegKey, to edit.
(default is all keys and values)
/d Data : The actual data to store as a "String", integer etc
/f : Force an update without prompting "Value exists, overwrite Y/N"
\\Machine : Name of remote machine - omitting defaults to current machine.
Only HKLM and HKU are available on remote machines.
FileName : The filename to save or restore a registry hive.
KeyName : A key name to load a hive file into. (Creating a new key)
/S : Query all subkeys and values.
/S Separator : Character to use as the separator in REG_MULTI_SZ values
the default is "\0"
/t DataType : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
Output : /od (only differences) /os (only matches) /oa (all) /on (no output)
esta respuesta es muy vaga y aunque enumera todas las posibilidades (lo cual es bueno) no responde claramente la pregunta del OP a diferencia de la respuesta de @nray –
Puede hacer un archivo .reg y empezar a llamar en él. Puede exportar cualquier parte del registro como un archivo .reg para ver cuál es el formato.
Formato aquí:
http://support.microsoft.com/kb/310516
Esto se puede ejecutar en cualquier máquina de Windows sin necesidad de instalar otro software.
Sí, puede crear una secuencia de comandos utilizando el comando reg
. Ejemplo:
reg add HKCU\Software\SomeProduct
reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6
Esto crearía clave HKEY_CURRENT_USER\Software\SomeProduct
, y añadir un valor de cadena "v2.4.6" llamada "versión" a esa tecla.
reg /?
tiene los detalles.
Sí. Puede usar reg.exe que viene con el SO para agregar, eliminar o consultar valores de registro. Reg.exe no tiene un comando de modificación explícito, pero puede hacerlo haciendo eliminar y luego agregar.
Además de reg.exe, le recomiendo que también consulte powershell, es mucho más capaz en su manejo de registro.
Los scripts de PowerShell primero deben habilitarse en la máquina cliente usando 'Set-ExecutionPolicy'. Tengo un script por lotes que modifica el registro para establecer la política de ejecución a RemoteSigned. El beneficio es que un usuario puede habilitar y ejecutar scripts de PowerShell sin escribir ningún comando. Pueden hacer doble clic en el archivo por lotes. –
@Franci Penov - modifique es posible en el sentido de sobreescritura con /f
, por ejemplo
reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"
+1 para/f He escrito un par de scripts para eso, pero sin/f fue tan doloroso; requirió que estuviera allí cuando ejecute el script para escribir "y + [return]" – amyassin
Gracias. Esta debería ser la respuesta aceptada, ya que explica cómo MODIFICAR una LLAVE existente. –
Esto es cómo se puede modificar registro, y sin sí o no puntual y no se olvide de ejecutar como administrador
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc /v Valuename /t REG_SZ /d valuedata /f
a continuación se muestra un ejemplo real para configurar Internet explorer como navegador predeterminado
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice /v ProgId /t REG_SZ /d IE.HTTPS /f
Fuerza/f: forzar una actualización sin preguntar "existe Valor, sobrescribir Y/N"
/d de datos: Los datos reales para almacenar como una "Cadena", número entero etc
/v Valor: El nombre del valor, por ejemplo, ProgId
/t Tipo de datos: REG_SZ (valor predeterminado) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
Más información sobre Lee, eliminar o crear claves y valores del registro, guardar y restaurar desde un archivo REG.desde here
- 1. ¿Es posible modificar manualmente una expresión IQueryable?
- 2. ¿Es posible modificar el User-Agent para una WinRT HttpWebRequest?
- 3. ¿Es posible modificar la salida de clojure.test?
- 4. ¿Se puede modificar un script Perl?
- 5. ¿Es posible modificar la variable $ _SESSION?
- 6. ¿Es posible crear un script para guardar y restaurar permisos?
- 7. ¿Es posible modificar líneas en un archivo en el lugar?
- 8. ¿Es posible modificar la salida de la consola Maven para ocultar el registro [INFO]?
- 9. inserta un BLOB mediante un script sql?
- 10. ¿Es posible cargar una plantilla de manubrios mediante Ajax?
- 11. ¿Es posible detener una etiqueta de script insertada dinámicamente?
- 12. Modificar un paso de parámetro en un script (Bash)
- 13. ¿Es posible enviar correos electrónicos mediante script bash a través de smtp?
- 14. ¿es posible diseñar el valor de un texto de entrada?
- 15. ¿Es posible agrupar varias columnas mediante MySQL?
- 16. Registro de Python solo registro del script
- 17. modificar el valor de clave de registro
- 18. ¿Es posible modificar un esquema de base de datos de MS Access usando ADO.NET?
- 19. ¿Es posible establecer drawableLeft mediante programación?
- 20. ¿Es posible el registro pasivo en .NET?
- 21. Script que no responde: ¿es posible evitarlo?
- 22. ¿Es posible desinstalar mediante programación un paquete en Android
- 23. ¿Cómo modificar un buffer Vim con un script python?
- 24. ¿Es posible alterar un registro en rieles, sin leerlo primero?
- 25. ¿Es posible usar scalap desde un script scala?
- 26. ¿Es posible utilizar KnockoutJS con una entrada enmascarada?
- 27. ¿Es posible crear un script de una vista como una tabla en SQL Server?
- 28. ¿Es posible documentar campos en un registro en clojure?
- 29. ¿Es posible modificar el estilo usando Cucumber + Capybara?
- 30. ¿Es posible hacer que la entrada del usuario sea invisible como una entrada de contraseña 'sudo'?
Como señala @Shersha Fn, debe ser el administrador para usar REG.EXE. ¿Hay alguna forma de hacerlo como no administrador y evitar el mensaje "Acceso denegado"? –