Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <ИΘZIЭ(ŦB> en 18 Agosto 2009, 03:06 am



Título: Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO
Publicado por: <ИΘZIЭ(ŦB> 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.


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: leogtz 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


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: <ИΘZIЭ(ŦB> 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.


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: Novlucker 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


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: <ИΘZIЭ(ŦB> 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?


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: leogtz en 18 Agosto 2009, 04:29 am
6 caracteres, el simbolo ~ y el número.


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: <ИΘZIЭ(ŦB> 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.


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: Novlucker 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


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: <ИΘZIЭ(ŦB> 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í?


Título: Re: cómo asigno el valor de una variable en BACH a una clave de registro
Publicado por: Novlucker 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


Título: Re: Cómo asigno el valor de una variable en BACH a una clave de registro SOLUCIONADO
Publicado por: leogtz en 18 Agosto 2009, 19:00 pm
Tenemos que ponerle "solucionado" de ahora en adelante, así los que entren sabrán que pueden encontrar solución.  :rolleyes: