Cargando



Windows 7 – creando archivos Batch, parte 2

Este tutorial está dirigido a aquellos usuarios que quieren usar Windows para algo más que jugar y realizar tareas de oficina, particularmente con algún interés en programar.


ago 02 2014 10:52
Intermedio
ago 04 2014 08:44
En un tutorial anterior presenté los detalles básicos de cómo hacer un archivo de comando por lotes (Batch). En este tutorial voy a continuar con algunos detalles de la programación de archivos Batch.

Comentarios


No siempre todo lo que escribas en tu archivo Batch es con la intención de ejecutar un comando, a veces vas a querer agregar líneas adicionales a manera de información para la persona que vaya a usar o editar el archivo en el futuro. Para ello existen los comentarios.

Para agregar un comentario a tu archivo Bacth sólo debes escribir la línea precedida de dos caracteres de 2 puntos.

:: Este es un comentario que no se ejecuta en el programa


Adicionalmente puedes emplear el comando “REM” el cual esencialmente es un programa que acepta parámetros (que son los valores que colocas después del comando) pero que no hace absolutamente nada. Es en realidad un comando vacío.

REM Este es otro comentario que no ejecuta nada


La gran diferencia entre el primer y segundo ejemplo es que “REM” sigue siendo un comando y, por lo tanto, si antes no desactivaste la impresión de los comandos (con el comando “echo off”) se verá reflejado en la línea de comandos el mensaje “REM comentario”.

Asignar variables


En los archivos de lotes de comando tú puedes crear variables para ser usadas más adelante en el proceso. Imaginemos que tú quieres pedir el nombre de la carpeta que vas a copiar y luego la vas a copiar en un directorio respaldo dentro de su computadora y en un directorio respaldo en la red. Ya que esto requeriría 2 comandos distintos (cada uno con la carpeta pasada por parámetro y la carpeta destino) y no le vamos a pedir al usuario que dé la ruta de la carpeta para cada copia, lo más apropiado es guardar la ruta de la carpeta en una variable y luego usarla en los 2 comandos.

En el lenguaje Batch las variables se asignan empleando la palabra clave “SET”, luego el nombre que le quieras dar a la variable, el signo de igual (=) y el valor. Cabe recordar que NO PUEDES DEJAR ESPACIOS entre la variable, el igual y el valor.

SET rutacopia=C:\Users\Manuel\Documents


Luego, para hacer uso de la variable, tienes que meter el nombre entre porcentajes (%%) y será introducido directamente en el programa.

SET rutacopia=C:\Users\Manuel\Documents
mkdir %rutacopia%\CosasRaras

Si lo notas, el texto que introdujiste reemplaza el texto entre porcentajes y se ejecuta en línea con el resto del archivo, es decir, podrías pedir un comando y usarlo en el proceso de ejecución (cosa que no es recomendada).

SET /p comando=por favor introduzca el comando que quiera:
%comando%

Como notarás en este ejemplo, para pedirle al usuario que coloque un valor en un parámetro usamos la opción “/p” del comando SET con lo cual le decimos que haga la variable igual a lo que el usuario introduzca por la línea de texto después de leer nuestro mensaje. También, a pesar de que las características de este tutorial no permiten mostrarlo, he dejado un espacio después de los 2 puntos de manera que ese espacio exista al momento de introducir el comando, de lo contrario, lo que escribieras estaría pegado a los 2 puntos.

Debido a la estructura del ejemplo anterior, el usuario puede (o debe si no quiere recibir un error) introducir un comando para ser ejecutado directamente en el Batch. Si introdujera “ipconfig” (sin las comillas) el resultado sería el listado de características de la red que se muestra al introducir dicho comando.

A continuación te presento una serie de comandos en Batch que sirve de ejemplo a todo lo que hemos visto hasta ahora. Este proceso va a crear una carpeta llamada “CosasRaras” en la carpeta “Documents” del usuario que le pases por parámetro, asegúrate de borrarla una vez ejecutado.

echo Hola todo el mundo
set /p valornulo=Este valor puede ser lo que quieras:
::cuando quiero comentar asi de esta manera...
REM uno no se da ni cuentaaaaa
title la bomba
pause
cls
echo off
echo se borro todo porque use el comando cls
echo pero puedo mostrar este valor %VALORnulo%
pause
set /p cmd=ahora imaginemos que quiero ejecutar un comando:
%cmd%
set /p usuario=ahora escribe un usuario cualquiera:
SET rutacopia=C:\Users\%usuario%\Documents
mkdir %rutacopia%\CosasRaras
echo luego de la pausa anterior presiona cualquier tecla para continuar...
pause>nul

En este ejemplo coloqué el comando “mkdir” el cual crea directorios dentro de tu sistema y usé el comando “pause” que vimos en el tutorial anterior pero le agregué “>nul” al final, lo cual indica que se va a realizar la pausa pero el mensaje estará vacío. Es por esta razón que antes coloqué el comando echo con el mensaje que quería mostrar.

Estos son sólo algunos de los detalles de cómo crear archivos Batch en Windows. Espero que te sirva de ayuda. En próximos tutoriales veremos cómo se hacen los ciclos y los condicionales ¡Hasta la próxima!

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X