domingo, 22 de febrero de 2009

No toque li botone!

¿Tienes una carpeta especial con tus archivos privados, y tienes a un metomentodo que se mete en tu ordenador? ¿Quieres saber si te ha borrado, editado o movido tus archivos?
Pues si la respueta a todo es sí sigue estos pasos para crearte tu aplicación que vigile archivos.


Créate un bat (si no sabes, vete aquí). Fija bien los archivos y asegúrate que no vas a ser tú el que los mueva o los elimine. Ahora, en el bloc de notas, pon:

@echo off
title Archivos
set /a z=0
set /a x=0


Fijamos dos variables, los archivos que están bien (z) y los perdidos (x), todos con valor 0. Ahora tenemos que usar el comando IF con otro uso, con el dato EXIST. Le vamos a decir al ordenador que mire a ver si existe un archivo. Es:

if exist e:\carpeta\archivo.txt

Pero esto está incompleto. Vamos a hacer que nuestro .bat cuente los archivos que están bien o mal y que lo muestre luego. Por eo hemos puesto las variabes x y z a 0. Esto es:

if exist e:\carpeta\archivo.txt set /a z=z + 1

Ahora hay que poner lo contrario. Si no está, que nos lo muestre. Suma a la variable x 1. Se hace así:

if NOT exist e:\carpeta\archivo.txt set /a x=x + 1

Y ahora hacemos que nos lo muestre. Usamos la imaginación y esto %.

echo Total archivos: 5
echo Archivos buenos: %z%
echo Archivos perdidos: %x%
pause

Ahora voy a poner mi ejemplo (real). He puesto una carpeta llamada Cosas con tres archivos de texto (.txt) y he creado un .bat con el mismo contenido que estoy poniendo. Este es el interior del .bat:



Y este es el interior de la carpeta:


Ahora, tras haberos enseñado el cóigo del .bat y la carpeta con los archivos, pongo el marcha el .bat. El algodón no engaña:

Ahora quito dos archivos de la carperta del ejemplo, Cosas. Esta aplicación es infalible, se da cuenta y te 'avisa de que algo va mal':


No te puedes imaginar las cosas que se pueden hacer con aplicaciones como los archivos .bat.
Y todo emezó cuando ví uno en el interior de un USB que llevaba Ubuntu 8.10. Metí la mano y...

No hay comentarios: