Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: xavier27 en 8 Julio 2015, 14:58 pm



Título: Ayuda con directorio "user"
Publicado por: xavier27 en 8 Julio 2015, 14:58 pm
soy yo de nuevo y vengo a molestar a alguna humilde alma caritativa que me pueda dar una manito con lo siguiente, tengo un archivo nombre.conf y es como el .ini de un juego, el problema que tengo es que adentro de ese archivo esta la direccion de donde guardar el save del juego y lo que yo quiero es que se guarde en la carpeta appdata cuando se instale en cualquier pc, en la mia anda por que entra con mi nombre pero todo el mundo no se llama igual que yo me explico? no le encuentro la forma para que se guarde,llevo todo el dia compilando editando y ya no me da mas la cabeza el mes pasado me paso lo mismo y abandone , aca les dejo el ejmplo asi me entienden bien.

C:\Users\Xavier\AppData\Local\SquareEnix\Chrono Trigger\Saves

ahi es donde quiero que se guarde el save pero cambiandole mi nombre y que se pueda con cualquier usuario

 Dir:Savestates   = C:\Users\Xavier\AppData\Local\SquareEnix\Chrono Trigger\Saves  # directory where savestates will be created and loaded from

intente acortando con %userprofile% y %appdata% entre las barras pero no me lo toma, le meti llaves corchetes puntos todo y nada, alguno sabra como puedo hacer?


Título: Re: Ayuda con directorio "user"
Publicado por: Eleкtro en 8 Julio 2015, 16:20 pm
Utilizar variables de entorno sería la solución más corta y secilla, pero solo tendría sentido si el algoritmo que lee ese archivo.conf estuviese desarrollado para soportar variables de entorno, pero ya dices que lo has probado y no sucede nada, es decir, el programa no detecta ni expande las variables, y suponiendo que lo hayas comprobado bien entonces eso simplemente significa que no es posible, por que el autor del software no ha tenido en cuenta la posible utilización de variables de entorno en sus archivos .conf.

Pues obviamente a falta de soporte lo único que puedes hacer es editar manualmente el archivo, utilizando aplicaciones externas cómo SED, o mediante un lenguaje de programación.

Algo tan simple cómo este Batch-script sería una buena solución para resolver el problema suponiendo que el archivo.conf no esté dividido por secciones cómo puede estarlo un archivo.ini:
Código
  1. @Echo OFF
  2. (Echo Dir:Savestates = %LocalAppData%\SquareEnix\Chrono Trigger\Saves)>>".\Archivo.conf"
  3. Exit /B 0

Simplemente elimina la linea original del archivo.conf, y al distribuir el archivo en otro PC la añades la linea con ese script o con el lenguaje de programación que estés utilizando.

PD: En el ejemplo no he encerrado la ruta con comillas dobles ya que tu tampoco lo has hecho y no se si el emulador en cuestión necesita que la ruta esté encerrada o abierta, pero supuestamente deberías encerrarla entre comillas dobles.

Saludos.