Existe mucho software libre que se puede ejecutar desde una ventana DOS, lo que nos permite acometer con facilidad el procesado por lotes y la programación de tareas. Veamos las aplicaciones más interesantes.
Nivel: Avanzado
Existen proyectos de software libre sobre prácticamente cualquier cosa. Si somos programadores, podemos descargar las bibliotecas que se correspondan con nuestro entorno de programación y desarrollar un programa que cubra nuestras necesidades. Si no lo somos, hay aplicaciones gratuitas y de pago que, haciendo uso de esas bibliotecas libres, nos proporcionan unas ventanas y una experiencia de usuario más agradable.
Pero existe una vía intermedia que consiste en descargarnos un ejecutable .exe al que llamaremos desde la línea de comandos con los parámetros necesarios. Es gratuito, potente y se puede añadir al Programador de tareas de Windows. Te presentamos las aplicaciones más útiles en este formato.
1. Trabaja con imágenes
Imagemagick es una suite completa de rutinas de manipulación de imágenes con librerías para casi cualquier tipo de entorno de programación. Para descargarnos la versión de línea de comandos, accedemos a Omage Magick y escogemos la opción Binary Releases/Windows. De todas las versiones disponibles, hemos probado la de Windows 32 a 16 bits por píxel, que funcionará en la mayoría de los equipos. Está disponible también una versión portable que puede resultar más cómoda.
El ejecutable es un instalador que no arrastra ninguna complicación. El comando más utilizado será CONVERT, que transforma una imagen original cambiando el formato, tamaño o aplicando innumerables filtros. Un ejemplo:
Convert.exe entrada.jpg -resize 140x140 -rotate 90 -background white -gravity center -extent 140x140 salida.gif
Este comando abre la imagen entrada.jpg, le cambia el tamaño hasta un máximo de 140 x 140 (conservando la relación de aspecto), la gira a la derecha y luego añade bandas blancas donde sea necesario para que la foto final quede centrada en un cuadrado de exactamente 140 x 140 píxeles. El formato de salida es .gif.
Si lo que queremos es superponer dos imágenes, por ejemplo una marca de agua, prepararemos el archivo que queremos superponer y aplicamos el comando:
Composite.exe –gravity center –dissolve 50 mascara.gif entrada2.jpg salida2.jpg
Con ello, se produce el efecto de superponer la máscara en el centro con una opacidad del 50%.
2. Convierte vídeo
Hay excelentes programas gratuitos para la conversión de vídeo, pero una de las mejores versiones para línea de comandos es FFmpeg (www.ffmpeg.org/download.html). Seleccionamos la compilación Windows estática de 32 bits (FFmpeg git-1a104bf 32-bit Static), que no necesita instalación, simplemente descomprimir el .zip en el directorio de nuestra elección.
La instrucción depende de la conversión que queramos hacer. Por ejemplo, para pasar de DivX a MP4 (apto para iPhone y Android), usaremos la siguiente:
ffmpeg -y -i entrada.avi -acodec aac -ar 44100 -ab 96k -strict experimental –s 640x480 -vb 1024k salida.mp4
Con ella, convertiremos el archivo entrada.avi a salida.mp4 con un tamaño de fotograma de 640 x 480 píxeles, vídeo MP4, audio AAC y una velocidad de bit de 1.024 Kbps para el vídeo y 96 Kbps para el audio. Si la calidad no es suficiente, se pueden probar velocidades de bit mayores, sabiendo que, cuanto más altas, más dificultad tendrán en la reproducción los dispositivos más antiguos. FFmpeg soporta todo tipo de formatos, incluso con varias pistas de vídeo, audio y subtítulos. La descripción de los parámetros se puede encontrar en www.ffmpeg.org/ffmpeg.html#Video-Options.
3. Prepara un Blu-ray
Esto no es algo que se haga habitualmente en modo batch; pero, si queremos pasar a disco un vídeo de nuestra cámara AVCHD o cualquier material preparado con FFmpeg, basta descargar e instalar tsMuxeR. Este programa tiene una interfaz gráfica que nos permite concretar los archivos a incluir, que se deben especificar en el botón Join, el formato y carpeta de salida y la instrucción de línea de comandos que tendríamos que usar, a no ser que prefiramos pulsar el botón Start muxing para lanzar el proceso directamente.
Con formato de salida Blu-ray, se generan dos carpetas llamadas BDMV y CERTIFICATE que se pueden grabar en Blu-ray con, por ejemplo, CDBurnerXP.
4. Genera Un PDF a partir de un HTML
La forma más habitual de convertir un documento a PDF será que instalemos una impresora virtual de PDF y, desde cualquier programa Windows, imprimamos el documento. Si deseamos que un programa nuestro genere documentos PDF, una alternativa es escribir la página en HTML y convertirla a PDF con el software de Weeny Software (www.weenysoft.com/free-html-to-pdf-converter.html).
El programa tiene una GUI que posibilita imprimir a PDF tanto archivos HTML como páginas web. Para utilizarlo desde la línea de comandos, accedemos al directorio de instalación y en la carpeta bin encontramos el programa y todas sus librerías, lo que nos permite usarlo como portable.
Convertir un documento resulta tan sencillo como teclear:
Wkhtmltopdf.exe entrada.htm salida.pdf
Esta herramienta tiene muchas opciones sobre tamaño de página de salida, márgenes, encabezados, etc. que se pueden consultar con el comando:
Wkhtmltopdf.exe –h
5. Descarga una página web
Utilizamos el veterano Wget en su versión Windows (http://gnuwin32.sourceforge.net/packages/wget.htm) y escogemos Complete package, except sources. El programa se instala en C:Program FilesGnuWin32, el ejecutable se encuentra en la carpeta bin y el manual en la carpeta man.
Descargar una página o una foto con Wget resulta tan simple como escribir:
wget --tries=10 http://www.renfe.com/ -o log.txt
wget --tries=10 http://www.renfe.com/img/hsecsup_horarios.jpg -o log.txt
Si añadimos el parámetro –r, descargará todo el contenido del sitio web. Para la lista completa de parámetros, usaremos wget –h.
6. Baja desde un FTP
Con Wget descargamos páginas, imágenes, etc., a través de HTTP. Para hacer una descarga FTP, no nos hace falta ningún programa, viene preinstalado en Windows. En primer lugar, escribimos un fichero de texto como el siguiente:
open host
username
password
cd carpeta
binary
get archivo
bye
Necesitamos sustituir la dirección IP del host, el usuario, password, la carpeta y el archivo que se va a descargar. El fichero lo grabamos con el nombre descarga.txt. Para ejecutar la descarga FTP, tecleamos:
ftp -i -s:descarga.txt
Para operaciones más complejas (copias por FTP, descargas múltiples o incrementales), necesitamos un gestor de copias FTP, como por ejemplo el gratuito AceBackup (www.acebackup.com).
7. Envía un e-mail
También puedes enviar un e-mail desde la línea de comandos con Bmail. Para mandar un e-mail vacío con Hola en el asunto, escribe:
bmail -s localhost -f remitente@dominio.com -t receptor@dominio.com -a “Hola”
El programa solo te servirá para mandar correos desde el servidor SMTP local, porque no se autentifica con usuario y contraseña, pero es muy útil para avisarte de que, por ejemplo, terminó cierto proceso.
8. Programa procesos
Para automatizar estos procesos junto a otras tareas auxiliares, como por ejemplo borrar ficheros intermedios de trabajo, es conveniente preparar un proceso .bat que será lo que lance el programador de tareas. Los comandos batch de DOS son muy limitados, pero permiten cosas interesantes. El siguiente ejemplo es un proceso que se ejecuta cada 30 s y revisa el directorio a ver si encuentra una foto .jpeg, y la convierte a 70 x 70 en una carpeta llamada iconos:
:INICIO
FOR %%F IN (*.jpg) DO CALL transform.bat %%F
CHOICE /C AB /D A /T 30 > NUL
GOTO INICIO
Trasnsform.bat contiene:
convert %1 -resize 70x70 -gravity cen ter -extent 70x70 iconos\%1
del %1. n