Haciendo hablar a Windows

Estándar

¿Que bonito es programar, no? El día de hoy les traigo una de esas cosas curiosas que podemos lograr con unas cuantas líneas de código, y que nos puede hacer quedar bien frente a nuestros amigos no tan geeks y fácilmente impresionables. Hoy les explicaré como hacer hablar a su computadora con Windows.

Tal vez parezca algo complicado, y quizá crean que terminarán escuchando una voz toda fea y robótica como las de los programas como Loquendo, pero si tienen un Windows más o menos actual obtendrán una voz bastante clara. Y lo mejor, no necesitamos descargar nada, solo necesitamos el Bloc de Notas y escribir 4 líneas de código. Sí, leyeron bien CUATRO LÍNEAS.

Es tan fácil como abrir el Bloc de notas y copiar las siguientes líneas:

Dim Mensaje, Habla
Mensaje=InputBox("Ingresa texto","Habla")
Set Habla=CreateObject("sapi.spvoice")
Habla.Speak Mensaje

Lo guardamos con el nombre que queramos con la extensión VBS, por ejemplo “habla.vbs”. Ahora simplemente daremos doble clic en el archivo que creamos, nos debe aparecer un mensaje similar al siguiente:

speak

El resto es bastante simple, escribimos el texto que queramos que diga y pulsamos aceptar. Ahora podrán hacer hablar a su computadora cuando quieran.

Ojalá que lo hayan disfrutado. Les deseo, felices trazos.

Script Batch para generar respaldos automáticos

Estándar

Tener un respaldo de nuestra información, ya sea personal o laboral siempre es importante, nunca sabemos a ciencia cierta cuando algo puede fallar o se puede presentar algun problema. Es por ello que un backup será nuestro mejor aliado ante las dificultades.

Pero seamos sinceros, muchos de los programas de backup o respaldo tienen demasiadas características que podrán ser ideales para entornos empresariales o corporativos bastante grandes, pero en aspectos más bien personales, de negocio o empresa pequeña no son necesarias, es por ello que escribí este sencillo script que me solucinó el problema principal al que me enfrenté en el trabajo.

Continuar leyendo

Cambiar la fecha de creación, modificación o acceso de múltiples archivos en Linux

Estándar

Existen muchos motivos por los que modificar las distintas fechas almacenadas en un archivo nos puede resultar útil, en mi caso lo hice para que mi SmartTV reconociera el orden correcto de los episodios de algunos animes, o para que el autoestéreo reprodujera las canciones en orden alfabético sin importar cual agregue primero a la usb.

En fin, para modificar la fecha de un archivo existe el comando touch que nos es muy útil si lo que queremos es modificar un solo archivo, pero la cosa se complica cuando tenemos cerca de 99 archivos y obviamente no queremos que todos tengan la misma hora, así que para resolver este problemita decidí escribir un script en bash que podemos ejecutar y modificar fácilmente para adaptarlo a sus necesidades, solo copien el código a un editor de texto como gedit, guárdenlo con extensión .sh y denle permisos de ejecución. Listo!!

Nota: Este script solo funciona con hasta 99 archivos hasta el momento, tómenlo en cuenta… Si encuentro la solución a eso lo actualizaré

#!/bin/bash

# Definimos el tipo de archivo
ext=mp4

# Cambiamos los espacios en el nombre del archivo por guion bajo
for FILE in *.$ext
do NEWFILE=`echo $FILE | sed 's/ /_/g'`
mv "$FILE" $NEWFILE
done

# Iniciamos un contador
let i=0

# Modificamos la fecha de los archivos
for f in *.$ext
do
if [ "$i" -lt 10 ]
then
#Para definir la fecha puedes cambiar los números antes del punto
#usando el siguiente formato YYYYMMDDhhmm (año,mes,dia,hora,minuto)
#y para cambiar fecha de creación borren el -m, para cambiar acceso
#cambien -m por -a y para cambiar modificación dejenlo con -m
    touch -m -t 201406120113.0$i $f
    echo "touch -m -t 201406120113.0$i $f"
else
    touch -m -t 201406120113.$i $f
    echo "touch -m -t 201406120113.$i $f"
fi
let i=i+1
done

# Regresamos los espacios a los nombres de archivo
for FILE in *.$ext
do NEWFILE=`echo $FILE | sed 's/_/ /g'`
mv $FILE "$NEWFILE"
done

echo "Se finalizaron las modificaciones"