elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO  (Leído 8,563 veces)
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO
« en: 18 Agosto 2009, 03:06 am »

Hola a todos otra vez! De nuevo me veo en la necesidad de que acudir a uds para aprender más.

Resulta que estoy editando el valor de una clave de registro a través de un .bat, lo cual he hecho muchas veces, pero en esta ocasión necesito asignarle el valor de una variable a dicha clave. Les daré un ejemplo del código del .bat:

Código:
set variable1=He aquí el valor que quiero asignar a la clave
Código:

reg add HKLM\SYSTEM\ControlSet001\Control /v Clave1 /t reg_expand_sz /d %Variable1% /f

Bien, con esto debería asignar el valor de Variable1 (He aquí el valor que quiero asignar a la clave) a la clave Clave1, pero en vez de eso me sale un mensaje de error.
Acabo de probar, y noté que el error se presenta porque el valor de Variable1 tiene espacios en blanco. Así pues, necesito saber qué debo hacer para asignar dicho valor con espacios a la clave. Les agradeceré mucho su ayuda!


Quiero aclarar que no se trata de colocar EL NOMBRE de la variable como valor de la clave, sino su valor. O sea,

Variable1 = He aquí el valor

Clave1 = He aquí el valor


No quiero esto:

Variable1 = He aquí el valor

Clave1 = %Variable1%


Con esta linea:

reg add HKLM\SYSTEM\ControlSet001\Control /v Clave1 /t reg_expand_sz /d %%Variable1%% /f

solo lograré que el valor de Clave1 sea = %Variable1% y no es lo que busco.


« Última modificación: 23 Agosto 2009, 07:10 am por cyman » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #1 en: 18 Agosto 2009, 03:21 am »

Código:
set variable1=He aquí el valor que quiero asignar a la clave
reg add HKLM\SYSTEM\ControlSet001\Control /v Clave1 /t reg_expand_sz /d "%Variable1%" /f


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #2 en: 18 Agosto 2009, 03:28 am »

Eeeesooo chamo, que bien! Así mismo es! Gracias! Qué fácil era! Me da risa. No intenté hacerlo así porque pensé que daría error. De pana gracias Leo.

Oye pana, y aprovechando que estás por ahí, de casualidad no sabes cómo se usa el símbolo ~ para abreviar rutas o claves en Windows? No he encontrado esa información en ningún lado. Si me puedes ayudar, te lo volveré a agradecer.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #3 en: 18 Agosto 2009, 03:45 am »

Si te refieres a algo como los nombres cortos..

Citar
C:\docume~1\Novlucker\Escritorio>

Eso ya no se usa más, sobre todo porque puede resultar confuso a la hora de tener dos archivos con casi igual nombre en la misma carpeta .. así que te recomiendo seguir como hasta ahora :P
Además debes de tener en cuenta de que los nombres cortos se generan solos, no eres tu quién los define ... ej:

Código
  1. C:\WINDOWS\system32>dir /x *.*

Saludos
« Última modificación: 18 Agosto 2009, 03:52 am por Novlucker » 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
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #4 en: 18 Agosto 2009, 04:14 am »

Ok. Pero cuál es la regla para usar ese símbolo? Porque he visto que si lo uso antes o después de la letra específica no funciona. Por ejemplo, Si escribo

C:\Documen~1

ya no serviría, porque puse la "n" y el ~ debe ir justo después de la "e".

Así que tengo esa duda. Cuál es la regla o sintaxis para abreviar con ese símbolo?
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #5 en: 18 Agosto 2009, 04:29 am »

6 caracteres, el simbolo ~ y el número.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #6 en: 18 Agosto 2009, 05:36 am »

Gracias de nuevo amigos! Son muy gentiles de verdad.

Ahora me gustaría saber cómo doy por respondida la pregunta que formulé, porque no he encontrado la manera. Cuando puedan me avisan. Gracias.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #7 en: 18 Agosto 2009, 05:40 am »

Otra pregunta? entonces ya me perdí  :-X

Tienes lo del REG ADD con espacios y ya ha sido respondido ... y ahora lo de la variable, lo cual también ha sido respondido ... cual es la pregunta  :huh:

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
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #8 en: 18 Agosto 2009, 17:00 pm »

Te explico. En otros foros uno debe darle a la respuesta correcta como respondida para que los demás vean que está solucionada; generalmente hay un botón para hacer eso. No es así aquí?
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: cómo asigno el valor de una variable en BACH a una clave de registro
« Respuesta #9 en: 18 Agosto 2009, 17:49 pm »

Aaaah! ... no ... simplemente vas a tu primer mensaje y le das a modificar, y cambias el título por algo como solucionado (ya lo he hecho), pero para ser sincero esto no lo hace casi nadie, generalmente quedan así como así  :P

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
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines