BATCH – Script para extraer el PID de un proceso.

Publicado en BATCH - DOS | Deja un comentario

BATCH – Script dependiente de la ejecución de otro.

Este código Script lo ejecuto mientras este en ejecución otro SCRIPT BATCH que su ventana se llama «proceso», si no lo detecta en ejecución finaliza (exit). En este script se utilizan 3 utilitarios (sendmail.exe – plink.exe y sleep.exe), los cuales se deben bajar para poder utilizarlos. En si lo que hace el Script es conectarse a un servidor UNIX y listar el contenido de un directorio en particular (archivos .lst), luego genera un archivo solo con el tamaño y nombre del archivo. Después se filtran los que pesan 0 y 64 Bytes, además de los que contienen la cadena «cambia». Al detectar archivos que pasan los filtros, se envía un mail informando la situación.-

Publicado en BATCH - DOS | Deja un comentario

UNIX – Ejecución comando mediante instrucción XARGS.

Si se requiere realizar un respaldo (copia) de muchos archivos, puede ser que el listado completo no entre en el buffer que tienen reservado la shell, y nos mostraría el siguiente error :

Argument list too long

Esto lo podemos solucionar con el comando XARGS, mediante el parámetro -I indicamos una cadena que luego en el comando vamos a usar para pasar el parámetro. Para pasar el listado de ficheros podemos usar un simple ls o bien un find para filtrar mejor los ficheros que queremos.

Las opciones del xargs pueden se usadas para construir comandos extremamente poderosos.
Opción -i
Para ejemplificar esto y comenzar a entender las principales opciones de esta instrucción, vamos a suponer que tenemos que borrar todos los archivos con extensión .txt en el directorio actual y presentar sus nombres en pantalla. Veamos que podemos hacer:

La opción -i del xargs cambia pares de llaves ({}) por la cadena que está recibiendo a través del pipe (|). Entonces en este caso las llaves ({}) serán cambiadas por los nombres de los archivos que satisfagan al comando find.
Opción -n
Veamos este pequeño juego que vamos a hacer con el xargs:

Cuando mandamos la salida del ls hacia el archivo usando el xargs comprobamos lo que ya dijimos, o sea, el xargs manda todo lo que sea posible (lo suficiente para no generar una sobrecarga en la pila) de una vez sola. En seguida, usamos la opción -n 1 para listar uno por uno. Sólo para estar seguros, mira el ejemplo siguiente, donde listaremos dos archivos en cada línea:

Sin embargo, la línea de arriba podría (y debería) ser escrita sin usar el pipe (|), de la siguiente forma:

Opción -p
Otra excelente opción del xargs es -p, en la cual el sistema pregunta si tu realmente deseas ejecutar el comando. Digamos que en un directorio tengas archivos con la extensión .bug y .ok, los .bug tienen problemas que después de corregidos son grabados como .ok. Echa una mirada a la lista de este directorio:

Para comparar los archivos buenos con los defectuosos, hacemos:

Opción -t
Para finalizar, el xargs también tenemos la opción -t, donde va mostrando las instrucciones que montó antes de ejecutarlas. Me gusta mucho esta opción para ayudar a depurar el comando que fue montado.

Publicado en Unix - Linux | Deja un comentario

BATCH – Agenda en DOS BATCH, un ejemplo interesante.

Publicado en BATCH - DOS | Deja un comentario

BATCH – Ejemplo de función en DOS BATCH con retorno de valores.

Publicado en BATCH - DOS | Deja un comentario