Batch y Registros

Iniciado por RsEG, 18 Febrero 2014, 15:17 PM

0 Miembros y 1 Visitante están viendo este tema.

RsEG

Hola gente, soy nuevo en esto y estoy teniendo un problema con un .bat que estoy programando.

En mi trabajo nos conectamos a servidores externos mediante putty, pero cuando el acceso ssh cambia en un servidor, debo cambiar a mano la IP de todas las PC. Se me ocurrio hacer un .bat en mi pc que exporte los registros de sesiones de putty a una carpeta compartida y un bat en el resto de las pc que tome de esta carpeta los registros actualizados.
El problema se me da en el primer .bat:

Cuando comence usaba esta ruta:

HKCU\Software\SimonTatham\PuTTY\Sessions

Exportaba el archivo, lo copiaba a la carpeta compartida, y el resto actualizaba sin problemas. El inconveniente se dio cuando, quise exportar sesion por sesion, para evitar que ciertas configuraciones personalizadas de sesiones internas se vean afectadas (Los clientes tienen fondo negro y letras blancas, los internos son personalizados dependiendo del usuario).
Entonces me dedique a exportar solo ciertas sesiones. Pero me encontre con un problema que no pude resolver. Busque por todos lados pero no encontre nada puntual para mi caso. La ruta es semejante a la siguiente:

HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%20-%20Cliente

En la sesion de Putty esta asi:

CIA - Cliente

Esos espacios, me estan complicando la existencia ya que por una cuestion estetica y de costumbre no puedo sacarselos sin oir quejas.

Les muestro la sintaxis que probe hasta el momento

****************************************************
REG EXPORT HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%20-%20Cliente "C:\Registros"
****************************************************
REG EXPORT "HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%20-%20Cliente" "C:\Registros"
****************************************************
REGEDIT /E C:\Registros\cliente.reg HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%20-%20Cliente
****************************************************
REGEDIT /E C:\Registros\cliente.reg "HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%20-%20Cliente"
****************************************************

En todos estos casos me da error de sintaxis:

ERROR: sintaxis incorrecta.
Escriba "REG EXPORT /?" para obtener detalles de uso.


Espero que alguien pueda ayudarme con este tema. Gracias.-
"Son pocos los que prefieren la libertad, la mayoria solo quiere un amo justo"

Eleкtro

#1
El caracter "%" es un símbolo reservado por el sistema (para las %variables%), pero, además de esto, el espacio escrito en la ruta del regedit (%20) entra en conflicto con la variable especial "%2" de Batch, por eso te da error.

Para corregirlo, encierra el string y escapa el caracter conflictivo (duplicándolo):

Código (dos) [Seleccionar]
@Echo OFF

Set "Output=%HomeDrive%\Registros\Cliente.reg"
Set "Key=HKCU\Software\SimonTatham\PuTTY\Sessions\CIA%%20-%%20Cliente"

Reg Export "%Key%" "%Output%"

Pause&Exit


Saludos








RsEG

Muchas pero muchas pero muchas gracias!
Funciona de 10!
Gracias por resolverlo, y por la explicacion.
Muchas gracias Eleкtro!
"Son pocos los que prefieren la libertad, la mayoria solo quiere un amo justo"