Autor
|
Tema: [Batch] obtener clave del registro de Windows (Leído 14,849 veces)
|
jimbus80
Desconectado
Mensajes: 6
|
¿Hay alguna manera de comprobar CLAVES, y no valores, del Registro con un .bat?
Es decir, si tengo la siguiente clave del registro:
[HKEY_CURRENT_USER\Software\Prueba\70392704] "Money"="yes"
A mí me gustaría poder obtener la clave 70392704, no el valor de "Money".
Con REG QUERY sé cómo obtener el valor de "Money", pero no el nombre de la clave en que ese valor se encuentra (en el ejemplo, 70392704).
Quiero saberlo porque el nombre de dicha clave (en este caso un número) se genera aleatoriamente.
|
|
« Última modificación: 12 Febrero 2011, 23:33 pm por Leo Gutiérrez. »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
reg query HKCU\Software\Prueba
Igual pero sin usar ningún parametro Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
jimbus80
Desconectado
Mensajes: 6
|
Sí, así funciona a través de CMD, pero lo que yo quiero es almacenarlo en una variable, es decir, que usando: FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKCU\Software\Valve\Steam\Users" Y LO QUE SEA' ) DO SET clave_que_hay= %%B
pueda yo tener en la variable %clave_que_hay% el nombre de la/s clave/s que dependen de " Users", que es/son un número de 8 dígitos.
|
|
« Última modificación: 10 Febrero 2011, 21:57 pm por Leo Gutiérrez. »
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Me supongo que con: FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKCU\Software\Valve\Steam\Users" Y LO QUE SEA') DO SET clave_que_hay=%%B
Obtienes algo en la variable "clave_que_hay", podemos trabajar dicha variable para quedarnos con lo que nos interesa.
Si es eso lo que quieres, postea lo que te arroja la variable y un ejemplo de lo que quieres exactamente.
|
|
|
En línea
|
|
|
|
jimbus80
Desconectado
Mensajes: 6
|
Sí. La variable se muestra vacía porque la clave no tiene valores, sino otra subclave cuyo nombre es un número de 8 dígitos, que es lo que yo querría almacenar en mi variable (no los valores de clave o subclave alguna).
Es decir, si la clave completa es:
HKEY_CURRENT_USER\Software\Valve\Steam\Users\12345678
y yo uso en mi bat:
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY HKCU\Software\Valve\Steam\Users') DO SET clave=%%B
el valor de la variable "clave" es "" (vacío), cuando yo querría obtener 12345678.
Lo curioso es que usando en una ventana de MS-DOS (cmd) el comando:
reg query HKCU\Software\Valve\Steam\Users
no obtengo "" (vacío), sino HKEY_CURRENT_USER\Software\Valve\Steam\Users\12345678
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
A ver, ejecuta esto en un bat y de la salida ¿qué es lo que exactamente quieres obtener? for /F "tokens=*" %%_ in ('REG QUERY HKCU\Software\Valve\Steam\Users' ) DO ( )
O sea, postea la salida del comando y dinos qué quieres obtener de dicha salida. No puedo ayudarte bien porque yo no tengo esas claves: C:\>code.bat
Error: el sistema no pudo encontrar la clave o valor de registro especificados
C:\>
|
|
|
En línea
|
|
|
|
jimbus80
Desconectado
Mensajes: 6
|
Si ejecuto en un bat lo que tú dices:
for /F "tokens=*" %%_ in ('REG QUERY HKCU\Software\Valve\Steam\Users') DO ( echo %%_ )
obtengo:
HKEY_CURRENT_USER\Software\Valve\Steam\Users\12345678
y lo que yo quiero es guardar en una variable los ocho dígitos finales, es decir, 12345678
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Si sabes que obtendrás un número de 8 dígitos al final, podrías hacer algo como esto: No probado: for /F "tokens=*" %%_ in ('REG QUERY HKCU\Software\Valve\Steam\Users' ) DO ( )
|
|
|
En línea
|
|
|
|
jimbus80
Desconectado
Mensajes: 6
|
Tu código funciona maravillosamente. Me ha permitido guardar los ocho dígitos finales. Por tanto, problema resuelto. Gracias, Leo, por tus respuestas y por tu rapidez. Eres genial. 1 abrazo.
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
De nada.
Tengo una duda, ¿para qué haces esto?
Siempre me queda la curiosidad de para qué usan Batch. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Batch y Registro de Windows - Juguemos!!!
« 1 2 3 4 »
Scripting
|
Crazy.sx
|
35
|
49,480
|
25 Julio 2008, 02:27 am
por MagnoBalt
|
|
|
ayuda! agregar valor en exa al registro de windows [batch]
Programación General
|
guidosl
|
1
|
6,043
|
29 Marzo 2018, 00:08 am
por sidex_sk8
|
|
|
[BATCH] Obtener privilegios de una clave regedit.
« 1 2 »
Scripting
|
SuperDraco
|
16
|
16,134
|
6 Diciembre 2009, 15:29 pm
por SuperDraco
|
|
|
Registro de Windows(batch)
Scripting
|
Napster.A530
|
1
|
2,701
|
22 Julio 2010, 20:43 pm
por maxx93
|
|
|
Como obtener la clave de un WPA en Windows
Hacking Wireless
|
Fonokiki
|
7
|
4,735
|
29 Enero 2014, 09:50 am
por sanson
|
|