Retomando los ficheros .BAT, archivos batch o ficheros por lotes Parte I

Aquí ando de nuevo con el tema de los ficheros .BAT haciendo unas pruebas para contestar una de las preguntas de uno de los lectores/usuarios del blog y me he animado con tanto recordar a ampliar un poco más la información sobre los ficheros BAT, batch o de “procesamiento por lotes”.

En estos momentos estoy trabajando un poco con las variables y aunque me estoy dando cada piñazo de escándalo ahí voy a trancas y barrancas sacando poco a poco todos los problemas revisando apuntes, antiguos ficheros que hice en el pasado y revisando en decenas de Webs…, decir que al final trataré de dejar un buen repertorio de enlaces a otras a webs de forma que podáis ir ampliando tanto la información como os sea necesario.

Buen, aunque sé que en otras ocasiones he tomado el tema voy a tratar en esta ocasión de hacerlo de nuevo y trataré de exponer aquellos puntos que creo me han resultado más útiles a la hora de ir haciendo este pequeño “programita” que se supone que añadirá 10, 100, 1000 o 10000 usuarios a un sistema o dominio…

¿Que hace exactamente un fichero .BAT?

Lo primero que debemos saber es que un fichero batch se dedica a ejecutar una línea tras otra siguiendo las instrucciones que nosotros le damos, por ejemplo, si tenemos un fichero .BAT con el siguiente contenido….

cls
dir |more
dir c: /s |more
dir c: /s *.bat >> c:listabatc.txt
cls

Bien, si nuestro .bat tiene esto dentro lo que hará será eso, primero ejecutará un cls, luego el “dir |more” después el “dir c: /s |more” y así hasta llegar al último cls, por lo que efectivamente, si estas pensando que lo único que hace es ejecutar cosas que nosotros le decimos estas en lo correcto, no consta de un complejo lenguaje de programación ni cosas así, pero eso si, para sacar el máximo partido de estos deberemos de estudiar bien como decirle las cosas y que ordenes podemos emplear y de que forma.

¿Como creamos un fichero batch?

En principio con cualquier editor de texto tipo notepad aunque yo utilizo el edit de DOS de toda la vida… es por manía, costumbre o como queráis pero la verdad es que funcionalmente es parecido y me recuerda buenos tiempos la pantallita de fondo azul… si lo hacemos con el edit tenemos varias formas pero yo siempre utilizo la misma que seria estando en el símbolo del sistema ejecutando un “edit mifichero.bat” de esta forma se abre el edit y si no hay ningún fichero .bat con ese nombre se creará un nuevo y en blanco listo para que empecemos a encajar las cosas.

En el caso de hacerlo con el notepad simplemente abrimos un notepad (ya sabéis, Windows + R notepad ENTER) escribimos lo que sea y cuando le damos a guardar donde pone tipo que vendrá de fabrica “Documento de texto (*.txt)” hacemos un clic y seleccionamos “Todos los archivos” y en nombre le ponemos un nombre y lo rematamos con ” .bat “ y ya esta, como vemos es muy fácil crear un fichero batch.

Detalles sin importancia

Tal vez los que son programadores tienen unos hábitos que han ido tomando con el tiempo para poder desarrollar sus aplicaciones o “códigos” de una forma más eficiente pero nosotros somos unos ¿?¿?¿homínidos prehistóricos¿?¿?¿? y no sabemos de programar, solo sabemos de administrar, tocar directivas de grupo y tumbar servidores por donde quiera que pasamos dejando un rastro de caos… así que bien os comento un poco el tema y que conste que yo no soy un experto y os comento esto con la pobre experiencia de un día tratando de hacer un fichero BAT.

1. Debemos saber exactamente lo que queremos que haga el fichero y que es viable desde consola, y además, como ejecutaríamos la orden de forma manual

2. Deberemos estructurar un poco el tema, es decir, si va a tener un menú con unas opciones, un segundo menú, un tercero y al final una comprobación de datos deberemos de tenerlo bien claro y podría ser más que conveniente que nos hiciésemos un guión, por ejemplo:

a) Entrada a la aplicación y saludo
a.a) Para tener un registro de uso ejecutaremos un date y un time con el nombre de usuario que ha ejecutado la aplicación y redireccionaremos la salida a un fichero con extensión .log
b) En el primer menú daremos las tres opciones principales que ofrece el programa
b.a) En esta opción pedimos que se ingrese el segundo valor necesario
b.b) En esta simplemente solicitamos que se comprueba que el valor dado es correcto
b.c) Añadimos el parámetro al valor introducido y terminamos la aplicación
c) etc etc etc etc etc etc…

3. Es posible pasar de una línea de código a otra utilizando unos “marcadores”, es conveniente que vayamos anotando en un excel o donde sea los que estamos usando y que los acompañemos con una descripción para evitarnos líos después, al principio solo tenemos una línea, al cabo de una hora podemos tener 50 o más y puesto que no tenemos costumbre de leer eso nos podemos volver locos para localizar una parte del código

4. No debemos escatimar en mensajes de salida (los que leeremos nosotros) ya que puede ser que en algún momento alguien pueda utilizar la aplicación, es más, podemos mejorarla bastante con una ayuda en pantalla

5. En muchos casos trabajaremos con variables, al igual que con los “marcadores” deberíamos tener una tabla con todas las variables que estamos utilizando y que información cotienen

6. Esto no es un programa como tal de tipo exe o con un superentorno pero si trabajamos como administradores y utilizamos esto para automatizar tareas o procesos de configuración/administración en un servidor podemos tener un gran problema si introducimos mal un dato, imaginemos que queremos añadir 10 usuarios y se nos va la mano y marcamos 100, por ejemplo, esto no será muy grave pero si aplicamos esto en otras tareas o escenarios nos daremos cuenta rápidamente del problema que podemos tener

7. Y para terminar, siempre y cuando digo siempre quiero decir SIEMPRE deberemos probar el fichero en un entorno virtual, es más, deberíamos probarlo en varios sistemas diferentes por ejemplo en Windows Server 2003 y Windows Server 2008, o en Windows 2k3, Windows 2k8, Windows Xp y Vista o en cualquier sistema que pueda resultar útil su uso ya que de un sistema a otro puede tener problemas a la hora de ejcutarse.

Y bueno de momento lo voy a dejar aquí, en el próximo artículo que espero poder hacer dentro de un rato o esta tarde a más tardar empezaré a ver algunas “instrucciones” con las que podemos trabajar con los ficheros batch y algunos resultados curiosos pero esta vez tratando de aclarar todo al máximo para que la información resulte lo más útil posible.

Un saludo a todos!

Sin categoría

Deja una respuesta