Retomando los ficheros batch – Parte II – Primeras instrucciones básicas

Aquí vuelvo otra vez esta mañana con la intención de empezar a tocar un poco más el tema de los ficheros batch pero ahora ya entrando en materia y como voy a tratar de hacer a partir de ahora trataré de ir desde abajo en todo, porque hasta el momento a sido todo muy desorganizado y me gustaría empezar a tomar un poco de orden aunque reconozco que me costará mucho, así que cuento con todos vosotros para ello.

Empezando por el principio, cuando nosotros estamos trabajando con una ventana del terminal debemos de partir de un punto básico, lo que nosotros vemos es lo que nos muestra el sistema, es decir, el sistema no lo muestra para que el lo sepa lo muestra para que nosotros sepamos que pasa, (son mis explicaciones chungas…) si hacemos un dir el resultado en pantalla sale para que nosotros lo podamos ver y podamos trabajar con el, no es para que el sistema no olvide que es lo que contiene el disco duro…

¿Porque digo todo esto? pues tiene un motivo, esto lo digo y comento porque el primer comando o la primera orden que veremos será la orden echo.

echo
Esta orden viene por defecto activada o en ON en nuestro símbolo del sistema y es la que nos va repitiendo cada vez o “va haciendo eco” cada vez que ejecutamos algo mostrándonos eso de "c:Windowssystema32>"

1. Abrimos una ventana de terminal o cmd
2. Escribimos lo siguiente: @echo off
3. Ejecutamos dir
4. Ejecutamos @echo on

A eso se le llama una ventana de terminal limpita… 😀 veamos como hacemos todo:

C:Documents and settingsUsuario>@echo off
dir
 El volumen de la unidad C no tiene etiqueta
 El número de serie del volumen es: elpr-imo1

 Directorio de C:Documents and settingsUsuario

04/05/2007 00:00 <dir> .
04/05/2007 00:00 <dir> ..
04/05/2007 00:01 <dir> Blog
04/05/2007 00:02 <dir> Videotutoriales
             4 dirs 25.745.457.512 bytes libres
@echo on
C:Documents and settingsUsuario>

Para aclararos mejor he resaltado en un blanco más brillante los comandos que ejecutaremos nosotros y he tratado de reproducir lo mejor que he podido una ventana de terminal típica.

Bueno como hemos visto con @echo on y @echo off podemos hacer que el sistema muestre por donde vamos, esto será muy útil cuando hagamos nuestro fichero batch ya que podremos evitar que se vean todos los comandos que estamos ejecutando lo que puede llegar a ser realmente muy muy molesto, pero bueno vamos a seguir por donde debemos…

El echo además de esta utilidad nos puede servir para enviar un mensaje que se mostrará en la ventana de terminal de forma que podamos “interactuar” con el usuario o comunicarle que es lo que esta pasando, veamos otro ejemplo:

C:Documents and settingsUsuario>echo Hola amigos de Dos primos luchan contra la tencología
Hola amigos de Dos primos luchan contra la tecnología

C:Documents and settingsUsuario>

Aquí tenemos un nuevo ejemplo del uso de echo y para terminar las dos ultimas funciones de echo, vamos a verlas en otra “ventana del CMD”:

C:Documents and settingsUsuario>echo.

C:Documents and settingsUsuario>echo
ECHO está activado.

C:Documents and settingsUsuario>

Estos son “echo.” y “echo” con un punto como vemos nos deja un espacio vacio detrás y si no añadimos nada echo nos contesta si esta activado (@echo on) o desactivado (@echo off).

Pero no solo de echo están hechos los archivos batch, esta claro que es muy importante y yo considero elemental el uso de esta orden ya que nos permite guiarnos a nosotros o a otros usuarios a través del “programa” o porque no, realizar unos bonitos menús de ayuda para poder dar muchas opciones, aunque no lo parezca un batch bien trabajado con el tiempo puede ser una buena herramienta de administración, pero bien, vamos con el tema que nos ocupa.

A la hora de hacer un batch tenemos a mi parecer dos caminos a seguir:

1. Creamos un fichero batch para que automatice procesos como copia de ficheros, listados de directorios etc…
2. Creamos un fichero batch con la finalidad de utilizarlo para realizar tareas repetitivas de forma más rápida o para ejecutar cadenas de comando complejas en menos tiempo.

Si utilizamos un proceso de automatización de tareas como copia de archivos o creación de directorio étc no necesitaremos nada, bueno, si son muchas las tareas a seguir sería interesante agregar un “echo Proceso de copia correcto copiando archivos1” o “echo Directorio imagenes creado correctamente” veamos pues un ejemplo de esto:

@echo off
cls

echo A continuación se va a proceder a crear el directorio Carpeta1
mkdir Carpeta1
echo El directorio con nombre “Carpeta1” ha sido creado correctamente
echo.

echo A continuación se va a proceder a crear el directorio s3v
mkdir s3v
echo El directorio con nombre “s3v” ha sido creado correctamente
echo.

echo A continuación se va a proceder a crear el subdirectorio blog
echo dentro del directorio s3v
mkdir s3vblog
echo El subdirectorio con nombre “blog” dentro del directorio s3v
echo ha sido creado correctamente
echo.

pause

cls
echo Gracias por utilizar la utilidad de creación
echo de directorios
echo.
echo Si cree que se puede mejorar dicha utilidad por favor,
echo contacte con batchprog@miempresa.com y háganos llegar
echo sus sugerencias.

Y bueno, este no os lo voy a “mostrar” a los Ms-Dos os dejo que lo hagáis vosotros mismos, por cierto, es muy recomendable que hagáis todos los “ejercicios” que vaya mostrando aquí, especialmente si no tenéis experiencia de ningún tipo con la programación de ficheros batch ya que así poco a poco iréis entendiendo mejor todos los comandos y parámetros y al final de tanto usarlos, equivocarnos étc terminamos comprendiendo y sabiendo dar un buen uso a estos.

Como hemos visto el fichero es sencillo, simplemente se dedica a informarnos de que es lo que se esta haciendo y lo hace… es muy sencillito pero esta bien para ir tomando el contacto, además como podemos ver he añadido ya otro comando nuevo, “pause”, si os fijáis al ejecutarlo cada vez que se encuentra con este comando para la ejecución hasta que presionemos una tecla mostrando el mensaje ese de “Presione una tecla para continuar . . .”

Y bueno, por último quiero explicar la orden REM. Antes he comentado que es importante ir anotando en nuestro fichero .bat que es lo que estamos haciendo de forma que si dentro de 50 millones de años un habitante de este planeta o de otro encuentra nuestro PC o portátil y accede a ese fichero batch, gracias a las notas que dejamos en su día podrá comprender que es lo estaba haciendo uno de los usuarios de este blog, paso explicarlo con un código de ejemplo para que lo podáis probar vosotros.

@echo off
cls

REM *******************************************************************
REM Código obtenido del blog “Dos primos luchan contra la tecnología”
REM Este es solo un código de demostración para entender el funcionamiento de la orden REM
REM *******************************************************************

REM *******************************************************************
REM A continuación vamos a proceder a listar el directorio temp que se encuentra en la unidad
REM C del sistema
REM *******************************************************************

dir c:temp

REM *******************************************************************
REM Para poder comprobar el estado del directorio c:temp en otro momento vamos a
REM redireccionar ahora la salida del dir a un fichero de texto de forma que podamos consultar
REM este en otro momento sin necesidad de volver a ejecutar el comando DIR
REM *******************************************************************

dir c:temp > c:templist.txt

REM Fin del fichero de procesamiento por lotes

De esta forma todo lo que esta precediendo a las líneas que empiezan por REM no será mostrado ni tenido en cuenta por la aplicación, es más ni no recuerdo mal el significado de REM es remember (recuerda en inglés) que es justo lo que hace, nos recuerda que parte del programa es esa y para que sirve.

Bueno pues de momento esto es todo pero paso a resumir muy brevemente lo visto en esta ocasión:

Resumen del artículo

ECHO
@echo off -> Desactiva echo
@echo on -> Activa echo
echo. -> Deja una línea en blanco
echo -> Muestra el estado de echo
echo Texto de ejemplo -> Muestra en la pantalla el “Texto de ejemplo”

REM
REM Recordatorio o nota de interés -> Inserta en el batch notas que más tarde podremos leer para saber en que punto del programa nos encontramos o para dejar indicaciones de porque hemos introducido cierto código étc

Y bueno de momento esto es todo porque quería ver ya el tema de las opciones de los menús pero no va a poder ser porque ya llevo medio día con este cacho de trozo de artículo y no quiero ni agobiarme yo ni dejar un ladrillo indigerible por los lectores, pero si adelanto que en el siguiente artículo vamos a ver ya directamente el tema de hacer un menú con diferentes opciones y como hacer que el fichero ejecute una u otra según nuestra selección lo que es muy interesante para hacer utilidades más complejas o para agrupar varias utilidades o ficheros bat en uno solo.

Por cierto, no sé si lo estaré haciendo bien o no, pero eso si, os pido a los interesados en esto de los ficheros de procesamiento por lotes que por favor vayáis leyendo los artículos y haciendo pruebas y si tenéis cualquier duda ya sabéis que yo estoy por aquí para cualquier cosa que os pueda ayudar.

Y ya sin más me despido que vaya pedazo de rollo acabo de soltar… SALUDOS!!

Sin categoría

Deja una respuesta