Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO

Iniciado por <ИΘZIЭ(ŦB>, 18 Agosto 2009, 03:06 AM

0 Miembros y 2 Visitantes están viendo este tema.

<ИΘZIЭ(ŦB>

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:


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


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.

leogtz

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
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

<ИΘZIЭ(ŦB>

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.

Novlucker

#3
Si te refieres a algo como los nombres cortos..

CitarC:\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 (dos) [Seleccionar]
C:\WINDOWS\system32>dir /x *.*

Saludos
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>

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?

leogtz

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

<ИΘZIЭ(ŦB>

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.

Novlucker

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
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>

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í?

Novlucker

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
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