No sé que paso en esta semana, pero tome la decisión de comenzar a automatizar tareas. Y sí cuesta creerlo por el titulo pero lo hice simplemente con batch.
No suelo hacer esto pero inicialmente voy a dejar las fuentes, tanto como para que lean a otras personas así como también para que me queden cuál bookmark guardado:
Fuentes:
F2KO Software, esta página posee un set de script para usar. Particularmente use Bat To Exe Converter
http://www.f2ko.de/en/index.php
Para iniciarse en batch: http://www.robvanderwoude.com/batchstart.php
Otra página para iniciarse: http://steve-jansen.github.io/guides/windows-batch-scripting/part-1-getting-started.html
Ejemplos de scripts: http://luliserver.com.ar/?p=163
WGET: http://gnuwin32.sourceforge.net/packages/wget.htm
Les dejo un ejemplo de un script que arme. Este mismo es una especie de cliente de repositorio que hace la consulta al fileserver y descarga los instaladores en la terminal. Luego, sí el instalador lo permite, hace un silent install
en la terminal. De esta manera inyecto en la terminal una linea de código para instalar nuevos programas o mantenerlos actualizados.
@ECHO off :: :: repository-client :: @created: 2016 04 26 :: @by: Pablo Gabriel Savoia :: setlocal enabledelayedexpansion title Repository set ABS_PATH=%~dp0 set app= set configFile=config.cmd if not exist "%ABS_PATH%config.cmd" ( echo To run %~n0, you must config %configFile% goto :EOF ) else ( call "%ABS_PATH%%configFile%" ) if {%1}=={/?} goto :HELP if {%1}=={/update} goto :UPDATE if {%1}=={/list} goto :LIST if {%1}=={/install} goto :INSTALL goto :HELP :HELP echo.Usage: %~n0.bat echo. echo./? Help options. echo./update Update all repository. echo./list Show all install files. echo./install Install file in silent mode. echo. goto :EOF ::IF %PROCESSOR_ARCHITECTURE% == x86 ( :: :: set app=%ProgramFiles% :: :: ) ELSE ( :: :: set app=%ProgramFiles(x86)% :: set app=%app%) :: ::) :UPDATE :: echo Detected directory: %~dp0 :: %~d0 :: CD %~p0 :: CD %TEMP% IF NOT EXIST C:\Windows\Temp\repository ( md C:\Windows\Temp\repository ) PUSHD C:\Windows\Temp\repository if exist repository.list ( del repository.list ) %wget% %repository%repository.list for /f "tokens=*" %%a in (repository.list) do ( if not exist %%a ( %wget% %repository%%%a ) ) POPD goto :EOF :LIST IF NOT EXIST C:\Windows\Temp\repository ( md C:\Windows\Temp\repository ) PUSHD C:\Windows\Temp\repository if exist repository.list ( ::for /f "delims=" %%D in ('dir /a: /b') do echo %%D for /f "tokens=*" %%a in (repository.list) do ( echo %%a ) POPD ) else ( echo Ejecute %~n0.bat /update . ) goto :EOF :INSTALL if not (%2)==() ( if exist C:\Windows\Temp\repository\%2 ( call C:\Windows\Temp\repository\%2 /silent ) else ( goto :UPDATE if exist C:\Windows\Temp\repository\%2 ( call C:\Windows\Temp\repository\%2 /silent ) else ( echo Se ha actualizado la lista, no existe el instalador %2 en el repositorio. ) ) ) else ( echo No ha ingresado el instalador. echo Ejecute %~n0.bat /list para elegir un instalador. ) goto :EOF :EOF pause
Este script, consulta a un archivo config.cmd
en donde se encuentran las variables de configuración.
set wget="%ABS_PATH%bin\wget.exe" set repository=http://10.0.0.10/repository/
Y gracias al wget
puedo hacer la descarga de los archivos. Lo pueden descargar de http://gnuwin32.sourceforge.net/packages/wget.htm