Organización y almacenaje

VBScript desde cero: tutorial práctico para aprender a programar scripts en Windows

7 min de lectura

VBScript desde cero: tutorial práctico para aprender a programar scripts en Windows

VBScript (Visual Basic Scripting Edition) es un lenguaje de scripting basado en Visual Basic que durante años se utilizó principalmente para automatizar tareas en Windows y crear determinadas funcionalidades en páginas web.

Aunque actualmente es una tecnología heredada, todavía podemos encontrar scripts .vbs en equipos, aplicaciones y sistemas antiguos. Además, Microsoft mantiene documentación sobre su funcionamiento y ha establecido un proceso de retirada de VBScript de Windows.

En este tutorial vamos a conocer sus conceptos fundamentales y veremos cómo crear nuestros primeros scripts.

¿Qué es VBScript?

VBScript es un lenguaje de scripting desarrollado por Microsoft y basado en Visual Basic.

A diferencia de lenguajes como Visual Basic .NET, VBScript está pensado para ejecutar pequeños scripts sin necesidad de crear una aplicación completa.

Un archivo VBScript utiliza normalmente la extensión:

.vbs

Por ejemplo:

hola.vbs

Dentro podemos escribir instrucciones que Windows puede ejecutar mediante el motor de scripting correspondiente.

VBScript se utilizó especialmente para automatizar tareas administrativas, trabajar con archivos y carpetas, interactuar con componentes de Windows y realizar diferentes operaciones repetitivas.

¿Cómo crear un archivo VBScript?

Crear un script sencillo es muy fácil.

Podemos abrir el Bloc de notas, escribir nuestro código y guardar el archivo utilizando la extensión .vbs.

Por ejemplo:

MsgBox "Hola, mundo"

Guardamos el archivo como:

hola.vbs

Al ejecutarlo, se mostrará una ventana con el mensaje.

El método exacto de ejecución puede depender de la configuración de Windows y de la disponibilidad de VBScript en el sistema.

Mostrar mensajes con MsgBox

Una de las instrucciones más sencillas de VBScript es MsgBox.

Permite mostrar un cuadro de diálogo al usuario.

Por ejemplo:

MsgBox "Hola"

También podemos utilizar una variable:

nombre = "Antonio"

MsgBox "Hola " & nombre

El operador & permite concatenar diferentes cadenas de texto.

También podemos mostrar mensajes más elaborados:

MsgBox "El proceso ha terminado correctamente."

Esta función resulta útil para informar al usuario sobre el resultado de una operación.

Variables en VBScript

Las variables permiten almacenar información temporalmente.

Podemos crear una variable simplemente asignándole un valor:

nombre = "Antonio"
edad = 30

Posteriormente podemos utilizar esas variables:

MsgBox nombre

También podemos realizar operaciones:

numero1 = 10
numero2 = 5

resultado = numero1 + numero2

MsgBox resultado

En VBScript no es necesario declarar obligatoriamente el tipo de cada variable como ocurre en otros lenguajes.

Sin embargo, es recomendable utilizar:

Option Explicit

Esto obliga a declarar las variables y ayuda a detectar errores tipográficos.

Por ejemplo:

Option Explicit

Dim nombre

nombre = "Antonio"

MsgBox nombre

Condicionales con If

Los condicionales permiten ejecutar determinadas instrucciones solamente cuando se cumple una condición.

La estructura básica es:

If edad >= 18 Then
    MsgBox "Eres mayor de edad"
End If

También podemos utilizar Else:

If edad >= 18 Then
    MsgBox "Eres mayor de edad"
Else
    MsgBox "Eres menor de edad"
End If

Cuando necesitamos comprobar varias condiciones podemos utilizar ElseIf:

If nota >= 9 Then
    MsgBox "Sobresaliente"
ElseIf nota >= 5 Then
    MsgBox "Aprobado"
Else
    MsgBox "Suspenso"
End If

Los condicionales son uno de los elementos fundamentales para controlar el comportamiento de cualquier script.

Bucles en VBScript

Los bucles permiten repetir una determinada operación.

Uno de los más conocidos es For.

Por ejemplo:

For i = 1 To 5
    MsgBox i
Next

Este código ejecutará el bloque varias veces.

También podemos utilizar For Each para recorrer elementos de una colección:

For Each elemento In elementos
    MsgBox elemento
Next

Otra estructura habitual es Do While:

contador = 1

Do While contador <= 5
    MsgBox contador
    contador = contador + 1
Loop

Los bucles resultan especialmente útiles cuando queremos automatizar una tarea sobre muchos archivos, carpetas o elementos.

Funciones y procedimientos

Cuando un script empieza a crecer, es recomendable dividir el código en diferentes partes.

VBScript permite utilizar Sub y Function.

Por ejemplo:

Sub Saludar()
    MsgBox "Hola"
End Sub

Saludar

También podemos crear una función que devuelva un resultado:

Function Sumar(a, b)
    Sumar = a + b
End Function

resultado = Sumar(10, 5)

MsgBox resultado

De esta manera podemos reutilizar código sin tener que escribir las mismas instrucciones continuamente.

Trabajar con archivos y carpetas

Una de las posibilidades más interesantes de VBScript ha sido su utilización para automatizar tareas relacionadas con Windows.

Para trabajar con archivos y carpetas podemos utilizar objetos proporcionados por Windows.

Un ejemplo habitual es FileSystemObject:

Set fso = CreateObject("Scripting.FileSystemObject")

A partir de este objeto podemos realizar diferentes operaciones relacionadas con el sistema de archivos.

Por ejemplo, comprobar si existe un archivo:

If fso.FileExists("C:\archivo.txt") Then
    MsgBox "El archivo existe"
Else
    MsgBox "El archivo no existe"
End If

También podemos comprobar la existencia de una carpeta:

If fso.FolderExists("C:\Documentos") Then
    MsgBox "La carpeta existe"
End If

Estas funcionalidades hicieron que VBScript fuese utilizado durante mucho tiempo para automatizar tareas administrativas.

Ejecutar programas desde VBScript

También podemos utilizar objetos de Windows para iniciar determinados programas o comandos.

Por ejemplo:

Set shell = CreateObject("WScript.Shell")

shell.Run "notepad.exe"

Este script solicita la ejecución del Bloc de notas.

El objeto WScript.Shell ofrece diferentes posibilidades para interactuar con el entorno de Windows.

Por ello, VBScript podía utilizarse para crear pequeñas automatizaciones sin tener que desarrollar una aplicación completa.

Comentarios en VBScript

Los comentarios permiten añadir explicaciones al código sin que formen parte de las instrucciones que ejecuta el script.

Podemos utilizar:

' Este es un comentario

Por ejemplo:

' Mostrar un saludo
MsgBox "Hola, mundo"

Los comentarios son especialmente útiles cuando el script va a ser mantenido posteriormente por otra persona.

Un pequeño proyecto de ejemplo

Podemos combinar algunos de los conceptos anteriores para crear un pequeño script que compruebe si existe un archivo.

Option Explicit

Dim fso
Dim archivo

Set fso = CreateObject("Scripting.FileSystemObject")

archivo = "C:\archivo.txt"

If fso.FileExists(archivo) Then
    MsgBox "El archivo existe."
Else
    MsgBox "El archivo no existe."
End If

El funcionamiento es sencillo:

Crear FileSystemObject
        ↓
Indicar la ruta del archivo
        ↓
Comprobar si existe
        ↓
Mostrar el resultado

Este tipo de automatizaciones permite comprender por qué VBScript fue utilizado durante años en tareas administrativas.

VBScript en páginas web

VBScript también tuvo un papel en el desarrollo web, especialmente dentro del ecosistema de Internet Explorer.

Sin embargo, este uso pertenece prácticamente al pasado. Microsoft indica que el uso de VBScript dentro de páginas web está limitado a navegadores antiguos anteriores a Internet Explorer 11 y recomienda migrar estas páginas a JavaScript para conseguir compatibilidad con navegadores modernos.

Por tanto, para desarrollar páginas web actualmente, JavaScript es la opción adecuada, no VBScript.

¿VBScript sigue siendo recomendable?

Aquí hay que diferenciar entre aprender VBScript para mantener sistemas existentes y utilizarlo para desarrollar proyectos nuevos.

Microsoft considera VBScript una tecnología en desuso. En Windows, está previsto que pase a estar disponible como una característica a petición antes de su retirada definitiva en futuras versiones.

Para automatizar tareas nuevas en Windows, Microsoft recomienda utilizar alternativas como PowerShell. En el caso de páginas web, la alternativa indicada es JavaScript.

Esto no significa que aprender VBScript carezca de utilidad. Puede resultar necesario cuando trabajamos con aplicaciones antiguas, scripts empresariales o sistemas que todavía dependen de esta tecnología.

VBScript frente a otras alternativas

VBScript fue especialmente popular por su sencillez y por su integración con determinadas tecnologías de Windows.

Actualmente podemos encontrar alternativas más modernas:

  • PowerShell: especialmente útil para administración y automatización en Windows.
  • JavaScript: utilizado en páginas web y aplicaciones web modernas.
  • Python: adecuado para automatización y desarrollo de aplicaciones.
  • Visual Basic .NET: lenguaje de Microsoft orientado al desarrollo de aplicaciones dentro de .NET.

Si estás manteniendo un sistema antiguo, conocer VBScript puede ser importante. Si vas a comenzar un proyecto nuevo, conviene valorar tecnologías actuales que tengan soporte a largo plazo.

En resumen

VBScript es un lenguaje de scripting basado en Visual Basic que se utilizó durante muchos años para automatizar tareas en Windows y desarrollar determinadas funcionalidades, especialmente en entornos antiguos.

Con él podemos trabajar con:

  • Variables.
  • Condicionales.
  • Bucles.
  • Funciones.
  • Archivos y carpetas.
  • Programas de Windows.
  • Objetos COM.
  • Automatización de tareas.

Su sintaxis relativamente sencilla permite crear scripts pequeños con pocas líneas de código.

Sin embargo, es importante tener en cuenta su situación actual: Microsoft considera VBScript una tecnología en desuso y está preparando su retirada de Windows.

Por eso, VBScript tiene especial interés como tecnología que conviene conocer para mantener aplicaciones y scripts existentes, mientras que para nuevos proyectos resulta más apropiado utilizar alternativas actuales como PowerShell, JavaScript o Python.

Productos recomendados

Seleccionados de nuestra tienda para este tema

Kolanky Cargador Portátil para Coche Eléctrico 11 kW 6-16A… Hasta -69% Kolanky Cargador Portátil para Coche Eléctrico 11 kW 6-16A… El precio original era: 436,66 €.El precio actual es: 137,03 €. Ver opciones
Cargador portátil Feyree Type 2 para coche eléctrico 3,5 kW… Hasta -66% Cargador portátil Feyree Type 2 para coche eléctrico 3,5 kW… El precio original era: 285,42 €.El precio actual es: 97,04 €. Ver opciones
Leave a comment

Carrito de compra

×

No hay productos en el carrito.