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.
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
setfuera de cualquier bloque. - Variables Locales: Estas variables se definen dentro de un bloque
SETLOCALyENDLOCALy solo son accesibles dentro de ese bloque.
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.
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.