Instalación desatendida con batch

El lenguaje batch está formado por una serie de comandos MS-DOS que son guardados en un archivo de procesamiento por lotes normalmente con formato .bat. Este lenguaje nos puede servir para crear programas sencillitos usando simplemente programas de edición de texto como el bloc de notas.

Este lenguaje es muy famoso también porque era usado hace tiempo por los hackers para crear algunos virus muy sencillos pero a la vez de los peores, como por ejemplo uno que formatea el ordenador o que hace que se reinicie sólo al encenderse, pero estos virus ya no funcionan porque son bloqueados facilmente por windows, por lo que no aconsejo aprender este lenguaje con tal finalidad, sino para aprender programación y crear programas de utilidad.

Instalación desatendida con batch

Bueno ahora que ya sabemos que es un batch, empezemos con la creacion de nuestro propio archivo .bat siguiendo estos simples pasos:

1. Abrimos el bloc de notas
2. Damos clic en Archivo y luego en Guardar como...
3. En el cuadro de dialogo buscamos la carpeta donde vamos a guardar el archivo
4. En Tipo seleccionamos Todos los archivos
5. En Nombre le pondremos Instalar.bat y damos clic en guardar

Ahora empezamos a agregar instrucciones a nuestro archivo para que instale las aplicaciones que utilizaremos, pero antes de dar la primer instruccion de instalacion personalizemos un poco nuestra "aplicacion" instaladora.

Los archivos .bat son archivos que la linea de comandos interpreta y ejecuta una a una las ordenes que este contenga, entonces al ejecutar un archivo .bat lo primero que se abre es una instancia de la consola de comandos conocida como simbolo del sistema (esa ventanita de fondo negro y letras blancas que muchos ya no usan) y empieza a ejecutar una a una las ordenes. Vamos a personalizar esta ventanita para que a la hora de instalar se vea mas bonito el proceso.

desatendido


Personalizando nuestra aplicacion

El tamaño de la ventana
Primeros cambiemos el tamaño de la ventana, para esto utilizaremos el comando MODE acompañado del dispositivo a modificar en esta caso sera la consola(con) y especificaremos el numero de lineas y columnas que mostrara la consola, asi que demosle un tamaño de 50 columnas por 2 lineas, la orden queda de la siguiente forma:

mode con cols=50 lines=2


Si guardamos y ejecutamos veremos como una pequeña ventana se abre y se cierra en un segundo, esto es por que los comandos de ms-dos al terminar su ejecucion se cierra automaticamente, y como hacemos para ver el resultado de la linea anterior, facil agregaremos una pausa al final del archivo para que no salga hasta que nosotros se lo indiquemos, para esto usamos el comando pause, entonces nuestro archivo debe contener 2 lineas, asi:

mode con cols=50 lines=2
pause


Ahora guardamos y ejecutamos.

El resultado es que se abre una pequeña ventana donde se muestra la ruta desde donde se ejecuta la consola(la ruta completa donde esta alojado nuestro archivo), despues el comando invocado (pause) y por ultimo un texto que dice "Presione cualquier tecla para continuar..."


El titulo de la aplicación

Bueno ahora que ya personalizamos el tamaño de la ventana y que ya pudimos evitar que la ventana se cierre, continuemos personalizando nuestra "aplicacion" pongamosle un titulo como Instalador, este titulo se mostrara en el titulo de la ventana y en lugar de salir la ruta completa donde esta nuestro archivo saldra el texto que nosotros lo pongamos para esto usaremos el comando title de la siguiente forma:

title Instalador


Esta linea es aconsejable ponerla antes de las otras ordenes para una correcta ejecucion de los comandos ya que si colocamos este comando despues del de pausa el titulo se cambira hasta que pulsemos una tecla y nosotros lo queremos desde que se ejecute nuestra aplicacion, entonces hay que ponerlo sino como la primer linea si antes de que se ejecute cualquier otro comando, como gusto personal lo colocare despues del comando mode a forma de estructura y quedaria asi:

mode con cols=50 lines=2
title Instalador
pause



Los colores de la aplicación

Ahora personalicemos un poco mas nuestra aplicacion cambiando los colores de la misma, esto se hace tambien muy facil con una sola orden y argumentos, el comando que utilizaremos para hacer esto es el comando color. Los atributos de este comando son numeros hexadecimales es decir numeros del 0 al 9 y letras de la A a la F, cada numero y letra es un color diferente:

0=Negro
1=Azul
2=Verde
3=Aguamarina
4=Rojo
5=Purpura
6=Amarillo
7=Blanco
8=Gris
9=Azul Claro
A=Verde Claro
B=Aguamarina Claro
C=Rojo Claro
D=Purpura Claro
E=Amarillo Claro
F=Blanco Brillante

El primer argumento sirve para establecer el fondo de la consola y el segundo para establecer el color de la letra, en mi caso utilzare el color de las BSoD es decir un fondo azul claro con letras blancas (9f), el comando queda de la siguiente forma:

color 9f


En mi caso colocare esta linea despues del comando title para seguir con la estructura del programa como se va explicando y el texto del archivo debe ser algo parecido a esto:

mode con cols=50 lines=2
title Instalador
color 9f
pause



Limpiando la pantalla

Bueno, ya personalizamos nuestra aplicacion ahora limpiemos la ejecucion, si se han dado cuenta cuando ejecutas el archivo aparecen 2 lineas, una con la ruta desde donde estamos ejecuntando el archivo seguido del comando pause y otra con el texto "Presione una tecla para continuar...", esto es logico ya que es la forma en que trabajo DOS y si tuvieramos mas grande la ventana tambien veriamos los comandos title y color, pero obvio esto es poco estetico y hace que se vea mal nuestra aplicacion para evitar que cada linea de comando se "imprima" en la pantalla y solo veamos el resultado utilizaremos el comando echo y el parametro off de la siguiente forma:

echo off


Con esto evitamos que cada linea de comando que se ejecute se muestre en pantalla, para evitar que el comando echo se muestre colocaremos una arroba(@) antes del comando echo y esto evitara que se "imprima" en el dispositivo de salida, el comando debe quedar de la siguiente forma:

@echo off


Y dado que esta orden evita que salgan los comandos en la pantalla debemos colocarlo al principio de todo quedando nuestro archivo de la siguiente forma:

@echo off
mode con cols=50 lines=2
title Instalador
color 9f
pause


Guardamos el archivo y lo ejecutamos el resultado deberia ser solo el texto "Pulse una tecla para continuar..."

instalar


Agregando programas al instalador

Bueno ya creamos la interfaz de nuestra aplicacion que instalara nuestros programas y hasta ahora no hemos visto que ejecute algun programa, hagamos una pequeña prueba para ver como trabaja nuestro archivo .bat con archivos .exe y ejecutemos un programa que viene incluido en nuestro windows, la calculadora, y esto es muy facil solo pongamos en nuestro archivo el comando calc antes del comando pause y veamos que pasa, el contenido del archivo debe ser como este:

@echo off
mode con cols=50 lines=2
title Instalador
color 9f
calc
pause


Bueno con esto comprobamos que nuestro archivo .bat puede ejecutar archivos .exe desde la consola de ms-dos, pero como supo que debia ejecutar la calculadora solo con el comando calc, pues facil, windows configura unas ruta de acceso a sus archivos y el prompt o linea de comandos tambien hace uso de estas rutas, estas rutas se conocen como paths y windows las dirige a C:WindowsSystem32 que es donde estan todos sus comandos y archivos .exe, y por eso cada vez que tecleamos algun comando en la consola se puede ejecutar, por que todos estan alojados en esa carpeta y es el primer lugar donde busca a menos que nosotros le especifiquemos una ruta distinta.


Instalando WinRar

Vamos a agregar la primer aplicacion a instalar en nuestro sistema: el winrar, para eso primero debemos tener el instalador del mismo que se puede descargar desde http://www.winrar.es, el nombre del instalador aunque no es muy largo podemos cambiarlo por uno mas corto o dejarlo como esta, en mi caso lo nombrare Winrar.exe y para ejecutarlo desde nuestro archivo .bat solo hay que colocar el nombre del archivo y listo (si el archivo a ejecutar no esta en la misma carpeta que nuestro archivo bat hay que especificar la ruta hasta el archivo), la orden seria:

Winrar


Ya integrada en nuestro archivo quedaria de la siguiente forma:

@echo off
mode con cols=50 lines=2
title Instalador
color 9f
Winrar
pause


Guardamos y ejecutamos nuestro archivo .bat y veamos que pasa.

Wow!!! el UAC nos pidio permiso de ejecucion, obvio le damos que si y se abrio el instalador del winrar, epa pero no se supone que debia instalarse de forma desatendida? Cierto, pero hay que modificar un poco nuestra linea del ejecutable y utilizar parametros para que esto sea asi, cada programa tiene los suyos aunque la mayoria ocupan los del windows installer y todos los podemos encontrar en internet.


Instalando WinRar Desatendido

Bueno la instalacion desatendida del winrar es una de las mas faciles de hacer solo hay que agregar el parametro /s al ejecutable y listo, la linea de comando debe quedar asi:

Winrar /s


Guardamos, ejecutamos y veamos que pasa.

Mmmm, salio la ventana y me pidio que pulsara una tecla y nada mas, bueno para comprobar que se instalo winrar hagamos click en "inicio" luego en "todos los programas" y ahi deberia aparecer ya la carpeta de winrar, solo abramos la carpeta y ejecutemos el winrar y woala el winrar se abre y para instalarlo no necesitamos hacer nada, facil? mucho, ahora solo necesitamos conocer los parametros para la instalacion desatendida de los demas programas que vayamos a incluir en nuestro instalador y agregarlos consecutivamente, si se quiere tener un control de las instalaciones y saber si se estan instalando podemos agregar un pause a cada instalador para ver los errores que este pudo tener.

El Codigo completo de este archivo .bat de ejemplo es el siguiente:

@echo off
mode con cols=50 lines=2
title Instalador
color 9f
Winrar /s
pause


Y aunque se que en el mercado existen programas para hacer un WPI(Windows Post Instalation) con este metodo no necesitan un programa extra ya que solo con el bloc de notas puede hacerse y con muy pocas lineas de comandos y aun faltan mas opciones de personalizacion de nuestro archivo pero esas despues las publico, espero que les sirva este post.


batch

19 comentarios - Instalación desatendida con batch

@darser
buena info!
ah y...
bienvenido a Taringa!
@nuveck
Esto ya lo sabia, pero me gusta que posten algo bueno no babosada de futbol +10
@giovanni4
+10 buen post solo q ayudarian unas imagenes
@russto
Muy bueno che, me voy a hacer una instalación desatendida del MS-DOS 5.0 xD
@Lothan88
Hola, yo quiero hacer un batch para el patch del pes 2012, el .exe extrae un archivo.msp, con ese no se puede hacer la simple gracia de ejecutarlo con el parámetro /s porque te llama la ayuda de windows installer y en realidad no me queda claro cómo tengo que arreglar la línea, será que me ayudas? ese patch estúpido solo tiene un botón de aceptar, se completa el proceso y luego viene terminar. Son solo 2 botones.
@Boncio4
Muy bueno el tutorial amigo pero me quedan unas dudas ... ¿Se podria hacer totalmente silencioso?(con solo los comandos del .bat).¿Donde puedo buscar tutoriales sobre esto para otros programas?.

Un saludo =)
@Lycanv69
Hola disculpa la tardanza pero tenia mucha chamba, jejeje, respecto a tu pregunta, si se puede hacer totalmente silencioso pero ya requeririas otros comandos de MS-DOS mas avanzados para que la ventana este minimizada y continue aunque encuentre un error, por eso es mejor usar programas como Auto-It muy bueno para realizar instalaciones desatendidas, buscalo asi en google hay mucha info saludos.
@mofinm77
Justo lo que estaba buscando. Excelente post.
@dj_vitomix
Hola, quisiera pedir ayuda, y espero que me puedan ayudar, necesito algun comando o algo en bath para poder ejecutar despues de la instalacion de windows un setup con controladores, este ya esta echo, pero necesito que este setup en batch cargue al primer inicio de windows y parta desde el cdrom y depues limpie temporales y todo eso como puedo hacer esto desde ya muchas gracias

Exelente post
@Lycanv69
Hola, lo que tu necesitas lo puedes hacer con un programa que se llama N-Lite para versiones Win 2000, XP y 2003 para Vista se llama V-Lite y para 7 se llama RT7Lite, las direcciones para descargar el programa y ver unos tutoriales son las siguientes:

N-Lite --> http://www.nliteos.com/
V-Lite --> http://www.vlite.net/
RT7Lite --> http://www.rt7lite.com/

Estos programas son para hacer un disco de instalación personalizado donde puedes incluir los drivers que necesitas y se instalen, espero te
@shadow_wolf_1989
buen post men me sirvio de mucho, para poder instalar office con este batch he visto que se puede pero no he podido tener acceso al codigo. podrias ayudarme
@Lycanv69
Hola, para lo que quieres hacer se puede hacer directamente con el instalador de office, te dejos un video que te explica como hacerlo, suerte, saludos.

Office 2007 --> http://www.youtube.com/watch?v=_6YFV0RhcKg
@vargcesar
buen post, lo necesitaba para mi trabajo
@nico1714
Excelente post!!! Te queria hacer una pregunta si en el programa tengo que ingresar un codigo (ya lo tengo) como lo ingreso? Desde ya muchas gracias
@Lycanv69
Hola, para agregar el codigo que ya tienes le debes meter antes de la puasa que hay en el programa y listo.

@echo off
mode con cols=50 lines=2
title Instalador
color 9f
Winrar /s ---> Este lo borras
---> Aqui pon tu codigo
pause

Suerte, saludos.
@franquitokako
Queria preguntar como ago ponerle los cracks y medicinas. Y tambien preguntar que si mientras la instalacion (por ejemplo del office) te pide un serial, como haces si al comando le pusiste /S ?

Gracias buen post
@Lycanv69
hola franquitokako, cracks y medicinas no podrían ponerse con un batch ya que no todos los que los hacen ponen soporte para ms-dos, para eso podrías utilizar el auto-it que es interactivo y fácil de usar, respecto a la pregunta que haces del ejemplo del office, la respuesta es sencilla, la mayoría de los programas de microsoft por no decir todos traen soporte para instalación desatendida mediante un archivo unanttendet.txt que viene dentro del paquete de instalación, solo hay que modificar
@pandamen
y que pasa cuando el programa trae barras de ask y esas cosas .. tambien se instalan??
@Lycanv69
Si también se instalan ya que no modificamos las opciones de instalación solo la hacemos desatendida, salu2.
@delflaquito
Muy buen post amigo: una pregunta tengo un programa que quiero hacerlo con instalación desatendida, pero al momento de instalarlo tengo que escoger entre dos tipos de alternativas y también tengo que ingresar una IP y un usuario y clave, como seria en este caso, gracias
@Lycanv69
Hola disculpa la tardanza para hacer lo que necesitas te recomendaría uses un programa llamado Auto-it, el programa esta en español y es muy fácil de usar, por aquí he visto post's de este programa, sino espero hacerme un espacio y ponerlo, salu2.
@JONATHANCR12
este comando creo que lo aprendi en otro foro.
pero me sirvio tanto el tuyo nuevamente porque perdi aquel guardado.

yo quiero que el bat sea totalmente silencioso
@dpintoa
buen post, quisiera unir estos bat, junto con visual basic, con interfaz todo, pero como haria con los crack o seriales?
@Lycanv69
hola dpintoa para lo que quieres hacer existe un programa llamado auto-it es un poco mas complicado pero muy funcional y viene con interfaz grafica, el ms-dos es mas rustico y esta empezando a caer en mas deshuso con las nuevas versiones de windows.
@nightwolfx20
Hola una consulta espero me contestes =) quiero ejecutar uno .reg cuando hago eso me dice esta por cambiar el registro de windows bla bla bla desea continuar ? me sale si y no si le doy en si me sale se cambio la clave d registro aceptar.....crees q pueda hacerlo con algun comando ??? probe con el /s y no me resulto me salia el cuadro d advertencia. gracias