Archivos ini y sus posibilidades

misterroco

Bueno el tema está en que he creado un archivo .bat para que cuando lo ejecute, compruebe que los archivos de una carpeta origen son más recientes (fecha) que los archivos en unas carpetas remotas en unos equipos conectados en red, de esta forma que cuando haga cambios en el programa se actualice en todos los equipos de red con solo ejecutar este archivo .bat.
Mi duda es como hacer por ejemplo, que desde el archivo .ini del programa ponerle que cada vez que el usuario arranque el programa ejecute primero el .bat que yo he creado, porque he estado mirando por ahi y probando cosas y no lo consigo.

Mi archivo .bat por si alguien le interesa los comandos empleados..

xcopy /ZYD "\Serval\Publica\Programas\PlusClave" "\Desarrollo\Publica\Programas\PlusClave"
xcopy /ZYD "\Serval\Publica\Programas\PlusClave" "\Direccion\Publica\Programas\PlusClave"

Z para archivos en red, Y para que no pida confirmacion al copiar y D para el tema de verificar la fecha de los archivos a actualizar

E

Yo siempre utilizo ficheros .ini en todos los proyectos (tanto míos como de la empresa). Me gustan bastante más que el registro de Windows (y eso que este nació para sustituir a los .ini).
Lo que tu comentas lo hago yo pero para actualizar los componentes ActiveX con las nuevas versiones al arrancar la aplicación, ahorrándonos a los informáticos de sistemas de turno xD (Los ActiveX se copian y registran solitos). En tu caso es igual de fácil.

Tendrás que tener alguna sección dentro del .ini donde crees una clave. Por ejemplo de la siguiente forma:

[ACTUALIZACIONES]
FICHEROXXX=(fecha y hora de la última actualización)

La forma en cómo escribes la fecha y la hora te la montas como quieras. Incluso utilizas dos claves si quieres.

Tu programa, cada vez que se cierre (empecemos por aquí) recogerá (consultará) la fecha de ultima modificación de esos ficheros (dependiendo del lenguaje hay muchas formas, incluso api's que hacen eso), y la guardará en la clave que tienes asignada para ello en el .ini

Luego, cada vez que entres, tendrás que volver a mirar la fecha de última modificación del fichero y compararla con la de la clave del .ini. Si es la misma no haces nada. Si la fecha de actualización es mayor que la registrada en el .ini, lanzas los bat y actualizas el .ini

Es más, el proceso del inicio también puedes hacerlo al final, por si hubiera alguna actualización durante el tiempo en el que la aplicación está corriendo. Aunque dependerá de para qué sirvan esos ficheros y su necesidad de estar actualizados. Pero vamos, que la idea es la misma.

Otra opción es tirar por la calle de en medio y copiar a capón los ficheros nada más entrar. Pero insisto, depende de para qué y cuándo se requiera dicha actualización. Eso es cosa tuya xD

Salu2

Usuarios habituales

  • ElTutor
  • misterroco