Variables en Batch Script: Guía Completa para Principiantes

Variables en Batch Script: Guía Completa para Principiantes

Los scripts batch son una herramienta poderosa para automatizar tareas en Windows. Sin embargo, su verdadera utilidad se desbloquea cuando se aprenden a utilizar variables. Las variables permiten almacenar datos dentro del script, lo que facilita la personalización, el manejo de información dinámica y la creación de scripts más complejos.

En este artículo, exploraremos en profundidad el concepto de variables en scripts batch, incluyendo su sintaxis, tipos y aplicaciones prácticas. Aprenderás cómo utilizar argumentos de línea de comandos, definir variables con set, realizar operaciones aritméticas con ellas, trabajar con variables de entorno y comprender la diferencia entre variables locales y globales.

Argumentos de Línea de Comandos: Pasando Datos al Script

Una de las formas más básicas de utilizar variables en un script batch es mediante argumentos de línea de comandos. Estos argumentos se pasan al script al ejecutarlo y se almacenan en variables especiales: %1, %2, %3, etc. Cada variable corresponde a un argumento específico, comenzando con %1 para el primer argumento, %2 para el segundo, y así sucesivamente.

batch
@echo off
echo Primer argumento: %1
echo Segundo argumento: %2
echo Tercer argumento: %3
pause

Este script, al ejecutarse con la siguiente línea de comandos:


mi_script.bat Hola Mundo 2023

Mostrará el siguiente resultado en la consola:


Primer argumento: Hola
Segundo argumento: Mundo
Tercer argumento: 2023

Definición de Variables con set: Almacenando Información

Para definir variables en un script batch, se utiliza el comando set. La sintaxis del comando set es sencilla:

batch
set nombre_variable=valor

Donde nombre_variable es el nombre que se le da a la variable y valor es el valor que se le asigna.

LEER:  ¿No Puedes Eliminar Archivos Descargados en Linux? ¡Soluciona el Problema Ahora!

Por ejemplo, para crear una variable llamada nombre y asignarle el valor «Juan», se utiliza la siguiente línea:

batch
set nombre=Juan

Para mostrar el valor de una variable, se utiliza el símbolo % antes y después del nombre de la variable:

batch
set nombre=Juan
echo %nombre%

Este código mostrará «Juan» en la consola.

Trabajando con Variables Numéricas: El Switch /A

El comando set también permite trabajar con variables numéricas mediante el switch /A. La sintaxis es la siguiente:

batch
set /A nombre_variable=expresión

Donde nombre_variable es el nombre de la variable y expresión es una expresión matemática que involucra operadores como suma (+), resta (-), multiplicación (*), división (/) y módulo (%).

Por ejemplo, para crear una variable llamada numero y asignarle el valor 10, se utiliza la siguiente línea:

batch
set /A numero=10

Para sumar 5 al valor de la variable numero y actualizar su valor, se utiliza la siguiente línea:

batch
set /A numero+=5

Operaciones Aritméticas con Variables: Calcular Valores

Con el comando set /A, se pueden realizar diversas operaciones aritméticas con variables numéricas:

  • Suma: set /A variable1+=variable2
  • Resta: set /A variable1-=variable2
  • Multiplicación: set /A variable1*=variable2
  • División: set /A variable1/=variable2
  • Módulo: set /A variable1%=variable2

Por ejemplo, el siguiente código calcula la suma de dos variables y muestra el resultado:

batch
set /A numero1=10
set /A numero2=5
set /A suma=numero1+numero2
echo La suma de %numero1% y %numero2% es: %suma%

Variables Locales vs Globales: Control de Alcance

En los scripts batch, existen dos tipos de variables:

  • Variables Globales: Estas variables están disponibles en todo el script. Se definen normalmente con el comando set fuera de cualquier bloque.
  • Variables Locales: Estas variables se definen dentro de un bloque SETLOCAL y ENDLOCAL y solo son accesibles dentro de ese bloque.
LEER:  Gramos vs Kilogramos: Diferencia y aplicaciones de las unidades de masa

El siguiente código ilustra la diferencia entre variables locales y globales:

«`batch
@echo off
set nombre=Juan

:bloque_local
SETLOCAL
set nombre=Pedro
echo %nombre%
ENDLOCAL

echo %nombre%
pause
«`

Este script mostrará lo siguiente en la consola:


Pedro
Juan

Dentro del bloque SETLOCAL y ENDLOCAL, la variable nombre tiene el valor «Pedro». Sin embargo, fuera de ese bloque, la variable nombre mantiene su valor global «Juan».

Variables de Entorno: Información del Sistema

Las variables de entorno son variables predefinidas que contienen información sobre el sistema operativo, como la ruta del directorio de instalación de un programa o la ubicación de los archivos temporales. Estas variables se pueden acceder utilizando el símbolo % antes y después del nombre de la variable:

batch
echo %PATH%

Este código mostrará el valor de la variable de entorno PATH, que contiene una lista de directorios donde el sistema busca archivos ejecutables.

Utilizando Variables en Scripts Batch: Ejemplos Prácticos

Aquí te presentamos algunos ejemplos de cómo utilizar variables en scripts batch:

  • Crear un script que reciba dos números como argumentos de línea de comandos y calcule su suma.

batch
@echo off
set /A suma=%1+%2
echo La suma de %1 y %2 es: %suma%
pause

  • Crear un script que pida al usuario su nombre y luego muestre un mensaje de bienvenida personalizado.

batch
@echo off
echo ¿Cuál es tu nombre?
set /P nombre=
echo Bienvenido, %nombre%!
pause

  • Crear un script que busque un archivo específico dentro de un directorio y muestre su ruta completa.

batch
@echo off
set /P directorio=Introduce el directorio donde buscar:
set /P archivo=Introduce el nombre del archivo a buscar:
for %%a in ("%directorio%%archivo%") do (
echo Ruta completa del archivo: %%~fa
)
pause

Conclusiones: Dominando las Variables

Las variables son herramientas esenciales para la creación de scripts batch flexibles y poderosos. Dominar su uso te permitirá crear scripts que se adapten a diferentes situaciones, manejen datos dinámicamente y realicen tareas complejas de manera eficiente.

LEER:  ¡Tu Primera Aventura en Linux! Guía Completa para Principiantes - Linux Beginner Tutoriales

Recuerda que este artículo solo te ha introducido al mundo de las variables en scripts batch. Hay mucho más que aprender, como la manipulación de cadenas de texto, el uso de variables en bucles y la integración con otros programas. Explora las posibilidades y crea scripts que te permitan automatizar tus tareas de manera efectiva.