Autor Tema: modificar registro mediante archivo .bat para portabilizar  (Leído 486 veces)

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

Desconectado yadrax

  • Ábaco
  • Mensajes: 5
  • Registrado: 29 May, 2012
  • es España
  • Karma: 1
    • Ver Perfil
    • Email
modificar registro mediante archivo .bat para portabilizar
« en: Marzo 13, 2021, 18:05:42 pm »
Muy buenas.
Esto intentando crear un achivo .bat que al ejecurtase modifique unas claves del registro de windows. El objetivo principal de este archivo es portabilizar juegos que solo se ejecutan cuando leen determinados datos del registro y que se han creado durante la instalacion, por lo que en algunos casos, una de las claves a añadir es la ruta donde se encuentra el juego. Al querer tenerlo portable, esta ruta variara, asi que para ello he usado una variable de la siguiente manera:

set "dirport=%~dp0"

reg add "HKLM\SOFTWARE\Wow6432Node\Prueba" /v InstallDir /t REG_SZ /d %dirport% /f

Aparentemente funciona, pero cuando la ruta desde la que se ejecuta este bat contiene directorios cuyo nombre tiene espacios, da error esa linea y no funciona. El error en concreto es:

ERROR: sintaxis incorrecta

Estoy seguro que es una tonteria, pero estoy negado y no doy con la solucion.
Hace unos años lo hice, pero perdi aquellos archivos y ya ni me acuerdo de como consegui hacerlo.
Alguna idea?

Gracias por adelantado



Desconectado kurt

  • Amstrad PCW 8512
  • ***
  • Mensajes: 537
  • Registrado: 20 Ene, 2005
  • es España
  • Karma: 9
  • Coleccionando aventuras gráficas
    • Ver Perfil
    • Aventgraficas
    • Email
Re:modificar registro mediante archivo .bat para portabilizar
« Respuesta #1 en: Marzo 13, 2021, 19:39:14 pm »
¿Has probado a  poner la ruta absoluta entre comillas?



Desconectado yadrax

  • Ábaco
  • Mensajes: 5
  • Registrado: 29 May, 2012
  • es España
  • Karma: 1
    • Ver Perfil
    • Email
Re:modificar registro mediante archivo .bat para portabilizar
« Respuesta #2 en: Marzo 13, 2021, 20:04:37 pm »
Gracias por la respuesta.
Si probe lo de las comillas, pero entonces el valos que se añadia al registro era el nombre de la variable tal cual

Ya he encontrado la solucion.
La pongo por si a alguien le interesara. La cosa es añadir otra linea para definir la variable añadiendo dos parametros mas:

@echo off
SET locpath=%~dp0
SET locpath=%locpath:~0,-1%

Esos ~0,-1 no se exactamente lo que hacen, pero me lo han pasado en otro foro y funciona, asi qye tema zanjado.
Gracias!!