Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - vicox19

#1
este es el proceso completo:
en mi folder instaladores tengo:
archivo1.txt
archivo1.bat
archivo10.txt
archivo10.bat
archivo2.txt
archivo2.bat
.....(1 bat para cada TXT)

los archivos .bat basicamente lo que hacen es ejecutar el instalador indicando que lea la configuracion definida en archivo.txt correspondiente. Obviamente el archivo de configuracion tiene muchas cosas, pero a mi solo me interesa trabajar en los 2 campos que te explico abajo.

entonces, como cada dia sale un nuevo bulid, tengo que abrir el archivo de config del instalador y cambiar a la version del nuevo build.

.....codigo......
##General Properties
failOnSQLError=true
.....codigo......     
##Other Properties     
#     
zipFileSourcePath=\\server1\BuildArchive\1.01\build_563456.zip
.....codigo......

con el primer codigo que hiciste TODO OK, el numero de version cambia.

en caso de que la instalacion falle, tengo que volver a abrir el archivo de configuracion y cambiar un valor a FALSE, ya no la version, solo cambiar el FailOnSqlError a FALSE (por eos quisiera que sea un archivo aparte por que NO siempre falla el build.)

.....codigo......
##General Properties
failOnSQLError=FALSE
.....codigo......     
##Other Properties     
#     
zipFileSourcePath=\\server1\BuildArchive\1.01\build_563456.zip
.....codigo......

una vez que esta en FALSE tengo que volver a lanzar el instalador pero esta vez NO fallara por que el FALSE que pusimos. Una vez que termine el proceso de instalacion, tengo que volver a poner a TRUE el setting para repetir al dia siguiente el proceso. Esta ultima parte de poner de FALSE a TRUE simplemente seria editar el batch que sirva para cambiar de TRUE a FALSE.

en resumen, necesitaria 3 batch:
1. para cambiar la version (OK)
2. para cambiar de failOnSQLError=TRUE a failOnSQLError=FALSE
3. para cambiar de failOnSQLError=FALSE a failOnSQLError=TRUE (similar al 2 invirtiendo las opciones)
#2
@echo off

setlocal enabledelayedexpansion

rem Cambiar lo siguiente por la ruta de tus archivos
rem Por ejemplo: c:\instaladores
set "instaladores_path=C:\instaladores"

:prompt
set /p "build_version=Cual es la versión del build actual? "
if "!build_version!"=="" (goto:prompt)

for /f "tokens=*" %%_ in ('dir /b "!instaladores_path!\*.txt"') do (
   for /f "tokens=*" %%s in ('type "!instaladores_path!\%%_"') do (
       echo %%s | find "zipFileSourcePath" > nul 2>&1 && (
           for /f "tokens=1,2 delims=_" %%# in ('echo %%s') do (
               echo %%#_!build_version!.zip >> "!instaladores_path!\temp_%%_"
           )
       ) || (
           echo %%s >> "!instaladores_path!\temp_%%_"
       )
   )
   copy /y "!instaladores_path!\temp_%%_" "!instaladores_path!\%%_"
   del "!instaladores_path!\temp_%%_"
)
#3
 :xD yeah!!!
si funciona!! eres un genio.
si hace el cambio en el numero de version, pero me sale un error de comando SWIFT y tuve que cambiar la variable que definiste por que no reconocia:
de: set "instaladores_path=.\instaladores"
a:   set "instaladores_path=C:\instaladores"

pero a pesar del error si hace el cambio de version. quizas se deba a mi version de windows? win7 o nose... corrida:

C:\instaladores>test.bat

Cual es la versi≤n del build actual? 10.00.00.1188

'Swift' is not recognized as an internal or external command,
operable program or batch file.
        1 file(s) copied.
'Swift' is not recognized as an internal or external command,
operable program or batch file.
        1 file(s) copied.
'Swift' is not recognized as an internal or external command,
operable program or batch file.
        1 file(s) copied.
'Swift' is not recognized as an internal or external command,
operable program or batch file.
        1 file(s) copied.
'Swift' is not recognized as an internal or external command,
operable program or batch file.
        1 file(s) copied.

y si no es mucha molestia. supongo que sobre el mismo codigo se puede modificar algo para lograr lo siguiente.

una vez que actualizo las versiones y lanzo los instaladores UNO POR UNO, a veces falla el instalador. cuando falla tengo que abrir el mismo archivo y cambiar un setting:
de: failOnSQLError=true
a:  failOnSQLError=false

y volver a lanzar para que esta vez A PESAR DEL ERROR instale el programa.
Basicamente lo mismo del anterior caso solo que es en otra parte dentro el archivo donde se hace el cambio a FALSE.

MIL GRACIAS DE ANTEMANO!
me ayudaste a optimizar de gran manera mi trabajo, por que si me olvidaba cambiar la version de un archivo y lanzaba el instalador con un build anterior, era todo un problema jeje, y esto es TODOS LOS DIAS  :P
#4
ok, tratare de ser mas especifico.
archivo que quiero que se modifique:
city1.txt
contenido:
.....codigo......
##Other Properties
#
zipFileSourcePath=\\server1\BuildArchive\1.01\build_1.01.20.zip
.....codigo......

como este archivo tengo de 10 ciudades diferentes. city2, city3....city10

lo que quiero es que al correr el batch me pregunte:
CUAL ES LA VERSION DEL NUEVO BUILD DE HOY?:

yo inserte: 1.01.21

ese NUEVO numero tiene que ser reemplazado en los 10 archivos SOLO la parte del numero. osea, lo que espero que es que el city1.txt termine asi:
.....codigo......
##Other Properties
#
zipFileSourcePath=\\server1\BuildArchive\1.01\build_1.01.21.zip
.....codigo......

y haga lo mismo en los otros 10 archivos city2.txt, city3.txt.....city10.txt
#5
tengo el siguiente caso.
todos los dias tengo que instalar un programa en mi empresa y necesito cambiar el numero de la version en 10 archivos de textos diferentes.
por ejemplo:

version de ayer: 1.1.20
version de hoy: 1.1.21
el instalador se encuentra hubicado digamos en C:\instaladores
hoy quiero instalar la version actual y para eso tengo que abrir 10 diferentes archivos de texto hubicados en el mismo folder. Dentro el archivo hay un parametro VERSION ACTUAL: 1.1.20  (que es la version de ayer)

quisiera saber con un archivo BATCH puedo hacer que me pase lo siguiente al ejecutar el BATCH:

cual es la version actual?:
1.1.21
abrir archivo1.txt reemplazar 1.1.20 por 1.1.21
abrir archivo2.txt reemplazar 1.1.20 por 1.1.21
abrir archivo3.txt reemplazar 1.1.20 por 1.1.21
.....
abrir archivo10.txt reemplazar 1.1.20 por 1.1.21


es posible???