Ayuda con claves de registro abreviadas (uso del símbolo ~) SOLUCIONADO

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

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

<ИΘZIЭ(ŦB>

Buenas compañeros. Un saludo primeramente.

Les cuento que he notado y leído que al trabajar con cadenas o claves de registro que tienen espacios en blanco se presentan problemas. Lo que no he logrado encontrar es cómo debo escribir la clave que lleva los espacios para que sea reconocida en un .bat

Por ejemplo, estoy tratando de modificar un valor contenido en la clave HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment, pero como ven, parte de la cadena (Session Manager) lleva un espacio en blanco, y por eso me sale un error.
Leí en un tutorial que se puede usar el caracter ~ para abreviar la cadena, pero no he hallado la forma correcta de usarlo. El tutorial coloca este ejemplo:

DA ERROR:
reg delete hklm\software\microsoft\windows\currentversion\run\QuickTime Task

ABREVIADO Y SIN ERROR:
reg delete hklm\software\microsoft\windows\currentversion\run\QuickT~1

Así pues, lo que necesito es que alguno de uds pueda ayudarme con este detalle al que por más que busco no le he hallado respuesta. Gracias de antemano.

Darioxhcx

#1
cuando las rutas llevan espacios van entre comillas
""

reg delete "hklm\software\microsoft\windows\currentversion\run\QuickTime Task"

no se si es eso lo que buscabas...
saludos

<ИΘZIЭ(ŦB>

Gracias pana, pero eso no funciona. Eso aplica es a rutas de carpetas, pero no a las claves de registro.

leogtz

reg delete "hklm\software\microsoft\windows\currentversion\run" /v "QuickTime Task"
Espero no equivocarme, no estoy en Windows.

http://ss64.com/nt/reg.html
Código (perl) [Seleccionar]

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

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

<ИΘZIЭ(ŦB>

Gracias también por interesarte, pero tampoco es así.

Lo que necesito es saber cómo se colocan las claves completas en un .bat cuando estas tienen espacios en blanco.

Novlucker

#5
REG ADD /? :rolleyes:

Las claves que tienen espacio van entre comillas, ... el problema es que no le pasas todos los parámetros como se debe ... va llave del registro ... nombre de la clave ... y valor .. sin olvidar el tipo de valor .. yo no veo todos esos parámetros en lo que tu dejas :P

Ej:
Código (dos) [Seleccionar]
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombreclave /t REG_SZ /d porejunbat.bat

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>

Pana, intenta hacer eso con una clave que tenga espacios en blanco. La que usaste no los tiene. Así tengo un montón de .bat que corren perfectamente. El problema es cuando la clave tiene espacio en blanco como dije al principio. Por qué no usas esa misma que coloqué al abrir el tema para que veas que da error?

Gracias igual por escribir. Seguiré esperando su ayuda foristas.

Novlucker

#7
Bueno ... acabo de revisar la ayuda y es (verificado)...

Código (dos) [Seleccionar]
REG DELETE hklm\software\Microsoft\Windows\Currentversion\run /v "Este es un valor"

Si miramos es exactamente lo que ha puesto Leo Gutierrez, ya que lo que eliminas es uno de los valores dentro de la rama run
Si no te funciona deja pantallazo de la ventana de regedit con dicha clave .. y texto en ms-dos .. ah! y por si acaso permisos de usuario de esa pc, porque no cualquiera puede tocar en el HKLM :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

<ИΘZIЭ(ŦB>

Amigo Novlucker, de verdad agradezco tu ayuda. Sin embargo, creo que no has notado mi punto.

En el ejemplo que usas la clave no tiene espacio en blanco, y el problema se da justo ante ese detalle. Por tanto, tu ejemplo no me resulta útil ante mi problema.

Como dije al principio, mi problema se presenta al trabajar con esta clave:

HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment

ya que, como podrás notar, Session Manager tiene un espacio. Específicamente, lo que trato de hacer es incluir un registro contenido en esa clave, lo cual quedaría así:

reg add HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment /v clave /t reg_expand_sz /d valor /f

Ya corroboré todo, y el error se produce por el espacio en blanco de Session Manager. Todo lo que has mencionado lo sé, y te lo agradezco, pero necesito es saber cómo debo escribir esta clave para que corra en ms-dos.

Novlucker

#9
Es que si he visto lo que pones ... SE que va CON ESPACIOS

Pero insisto .. he probado y funciona sin problemas ... el que te haya dejado un ejemplo sin espacios no quiere decir que no lo haya probado, además de que mi último ejemplo si tiene espacios (esta en el valor), solo que tu ponías como ej un REG DELETE y ahora es un REG ADD, por eso lo había puesto con REG DELETE

En lo que dejas no veo comillas de ningún tipo y como se te ha dicho ... debería de llevarlas .. ej (lo acabo de copiar/pegar):

Código (dos) [Seleccionar]
D:\>REG ADD "HKCU\Software\Microsoft\office genuine advantage" /v clave /t reg_sz /d cualquiervalor
Value clave exists, overwrite(Y/N)? y

La operación finalizó correctamente

D:\>


En tu caso ...

Citarreg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v clave /t reg_expand_sz /d valor /f

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