VBScript

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Lenguaje de programación de scripts

VBScript ("Microsoft Visual Basic Scripting Edition") es un lenguaje de secuencias de comandos activas desarrollado por Microsoft que se basa en Visual Basic. Permite a los administradores de sistemas de Microsoft Windows generar poderosas herramientas para administrar computadoras sin manejo de errores y con subrutinas y otras construcciones de programación avanzadas. Puede dar al usuario un control completo sobre muchos aspectos de su entorno informático.

VBScript utiliza el modelo de objetos componentes para acceder a los elementos del entorno en el que se ejecuta; por ejemplo, FileSystemObject (FSO) se utiliza para crear, leer, actualizar y eliminar archivos. VBScript se ha instalado de forma predeterminada en todas las versiones de escritorio de Microsoft Windows desde Windows 98; en Windows Server desde Windows NT 4.0 Option Pack; y opcionalmente con Windows CE (según el dispositivo en el que se instale).

Un script de VBScript debe ejecutarse dentro de un entorno de host, de los cuales hay varios provistos con Microsoft Windows, incluidos: Windows Script Host (WSH), Internet Explorer (IE) e Internet Information Services (IIS). Además, el entorno de hospedaje de VBScript se puede integrar en otros programas, a través de tecnologías como Microsoft Script Control (msscript.ocx).

Historia

VBScript comenzó como parte de Microsoft Windows Script Technologies, lanzada en 1996. Esta tecnología (que también incluía JScript) estaba dirigida inicialmente a los desarrolladores web. Durante un período de poco más de dos años, VBScript avanzó de la versión 1.0 a la 2.0, y durante ese tiempo obtuvo el apoyo de los administradores de sistemas de Windows que buscaban una herramienta de automatización más poderosa que el lenguaje por lotes desarrollado por primera vez a principios de la década de 1980. El 1 de agosto de 1996, se lanzó Internet Explorer con funciones que incluían VBScript.

En la versión 5.0, la funcionalidad de VBScript se incrementó con nuevas características que incluyen expresiones regulares; clases; la sentencia Con; las funciones Eval, Execute y ExecuteGlobal para evaluar y ejecutar comandos de secuencia de comandos creados durante la ejecución de otra secuencia de comandos; un sistema de puntero de función a través de GetRef y compatibilidad con COM distribuido (DCOM).

En la versión 5.5, se agregaron Subcoincidencias a la clase expresión regular en VBScript, para finalmente permitir a los autores de secuencias de comandos capturar el texto dentro de los grupos de expresiones. Esa capacidad ya estaba disponible en JScript.

Con la llegada de.NET Framework, el equipo de secuencias de comandos tomó la decisión de implementar soporte futuro para VBScript dentro de ASP.NET para el desarrollo web y, por lo tanto, no se desarrollarían nuevas versiones del motor VBScript. A partir de ahora, contará con el soporte del Equipo de ingeniería de mantenimiento de Microsoft, que es responsable de la corrección de errores y las mejoras de seguridad. Para los administradores de sistemas de Windows, Microsoft sugiere migrar a Windows PowerShell. Sin embargo, el motor de secuencias de comandos se seguirá distribuyendo con versiones futuras de Microsoft Windows e IIS.

Entornos

Cuando se emplea para el desarrollo web del lado del cliente en Microsoft Internet Explorer, VBScript tiene una función similar a JavaScript. Se utiliza para escribir funciones ejecutables que están incrustadas o incluidas en páginas HTML e interactúan con el modelo de objetos de documento (DOM) de la página, para realizar tareas que no son posibles solo en HTML. Sin embargo, otros navegadores web como Firefox y Opera y, recientemente, Chrome no tienen soporte integrado para VBScript. Esto significa que cuando se requieren secuencias de comandos del lado del cliente y compatibilidad entre navegadores, los desarrolladores generalmente eligen JavaScript sobre la mayoría de los otros lenguajes de programación, como VBScript.

VBScript también se utiliza para el procesamiento del lado del servidor de páginas web, sobre todo con Microsoft Active Server Pages (ASP). El motor ASP y la biblioteca de tipos, asp.dll, invoca vbscript.dll para ejecutar secuencias de comandos VBScript. VBScript que está incrustado en una página ASP se encuentra dentro de <% y %> cambios de contexto. El siguiente ejemplo de una página ASP con VBScript muestra la hora actual en formato de 24 horas, pero también se usa como secuencia de comandos predeterminada para los mensajes de error con los sistemas operativos Windows.

 ♪♪ Opción Explicit % título ¡Seguido! DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional///EN" http://www.w3.org/TR/html4/loose.dtd ■html ■head ▪ títuloEjemplo VBScript■/título Identificado/cabeza  Identificado  Agarra el tiempo actual de la función Now(). ' Una señal '=' que ocurre después de un cambio de contexto (hecho%) es corta  ' para una llamada al método Write() del objeto Response. Dim tiempo Valor : tiempo Valor = Ahora % título El tiempo, en formato 24 horas, es
 ♪♪Hora()tiempo Valor)% título:♪♪Minute()tiempo Valor)% título:♪♪Segundo()tiempo Valor)% título.
 ■/div titulada Identificado/cuerpo Identificado/html

VBScript también se puede usar para crear aplicaciones que se ejecutan directamente en una estación de trabajo que ejecuta Microsoft Windows. El ejemplo más simple es una secuencia de comandos que utiliza el entorno Windows Script Host (WSH). Este script suele estar en un archivo independiente con la extensión de archivo .vbs. La secuencia de comandos se puede invocar de dos maneras: Wscript.exe se usa para mostrar la salida y recibir entradas a través de una GUI, como cuadros de diálogo y de entrada. Cscript.exe se utiliza en un entorno de línea de comandos.

VBScript se puede incluir en otros dos tipos de archivos de secuencias de comandos: archivos de secuencias de comandos de Windows y aplicaciones HTML.

Un archivo de script de Windows (WSF) tiene el estilo de XML. Un archivo WSF puede incluir varios archivos VBS. Como resultado, los archivos WSF proporcionan un medio para la reutilización del código: se puede almacenar una biblioteca de clases o funciones en uno o más archivos .vbs, que se pueden incluir en .wsf archivos, por lo que la funcionalidad se puede reutilizar de forma modular. Los archivos tienen la extensión .wsf y se pueden ejecutar usando wscript.exe o cscript.exe, tal como lo puede hacer un archivo .vbs.

Una aplicación HTML (HTA) tiene el estilo de HTML. El HTML del archivo se utiliza para generar la interfaz de usuario y un lenguaje de secuencias de comandos como VBScript se utiliza para la lógica del programa. Los archivos tienen la extensión .hta y se pueden ejecutar usando mshta.exe.

VBScript (y JScript) también se pueden usar en un componente de secuencia de comandos de Windows, una clase de secuencia de comandos habilitada para ActiveX que pueden invocar otras aplicaciones habilitadas para COM. Estos archivos tienen la extensión .wsc.

VBScript es fácil de crear y se puede codificar con un editor de texto fácil de usar como el Bloc de notas. Un simple VBScript guardado por la extensión .vbs se puede ejecutar en un sistema Windows haciendo doble clic en él.

Funcionalidad

Características del idioma

El lenguaje de VBScript está modelado en Visual Basic y, por lo tanto, se puede revisar usando categorías similares: procedimientos, estructuras de control, constantes, variables, interacción del usuario, manejo de arreglos, funciones de fecha/hora, manejo de errores, funciones matemáticas, objetos, expresiones regulares, manipulación de cadenas, etc.

Los siguientes son algunos puntos clave de introducción al lenguaje VBScript por parte de Microsoft

Un "procedimiento" es la construcción principal en VBScript para separar el código en módulos más pequeños. VBScript distingue entre una función, que puede devolver un resultado en una instrucción de asignación, y una subrutina, que no puede. Los parámetros son posicionales y se pueden pasar por valor o por referencia.

Las estructuras de control incluyen los habituales Do Loops iterativos y condicionales, declaraciones If-Then-Else y Case, con algunas variantes más complejas, como ElseIf y estructuras de control anidadas.

Como ayuda de memoria en la codificación, y ciertamente para la legibilidad, hay una gran cantidad de constantes, como True y False para valores lógicos, vbOKCancel y vbYesNo para códigos MsgBox, vbBlack y vbYellow para valores de color, vbCR para el carro. carácter de retorno, y muchos otros.

Las variables tienen "Variant" type por defecto, pero es posible (y a veces necesario) forzar un tipo particular (entero, fecha, etc.) usando funciones de conversión (CInt, CDate, etc.)

La interacción del usuario se proporciona a través de las funciones MsgBox y InputBox que proporcionan un formato de cuadro de diálogo simple para mensajes y entradas. Ambas funciones muestran mensajes de aviso, la primera devuelve una respuesta estándar y la segunda devuelve un texto o valor numérico proporcionado por el usuario. Para una interacción GUI más elaborada con los controles, VBScript se puede usar en combinación con HTML, por ejemplo, en una aplicación HTML. Los formularios controlados por eventos no se admiten como en Visual Basic o Visual Basic para aplicaciones.

Los nombres no distinguen entre mayúsculas y minúsculas. Sin embargo, se considera una buena práctica del estilo VBScript ser consistente y capitalizar juiciosamente.

Funcionalidades de VBScript

Cuando está alojado en Windows Script Host, VBScript ofrece numerosas características que son comunes a los lenguajes de scripting, pero que no están disponibles en Visual Basic 6.0. Estas características incluyen acceso directo o fácil a:

  • Nombre y sin nombre de los argumentos de línea de comandos,
  • Stdin y stdout, que podría ser redireccionado,
  • WSH. Eco que escribe a la consola y no puede ser redireccionado,
  • WSH. ExitCode que puede ser probado desde archivos de lotes DOS, o por el proceso que invocó el archivo script,
  • Impresoras de red,
  • Network Shares,
  • Carpetas especiales, por ejemplo Escritorio, Favoritos, Mis Documentos y así sucesivamente,
  • Información del usuario de la red, como la membresía del grupo,
  • Métodos para la ejecución en tiempo de ejecución del texto definido en tiempo de ejecución: Eval y Execute,
  • Métodos para ejecutar scripts en máquinas remotas,
  • Instrumentación de gestión de Windows (WMI)
  • Funcionalidad para incrustar un motor VBScript en otras aplicaciones, utilizando un lenguaje ampliamente conocido.

CScript, el ejecutor de la línea de comandos, proporciona opciones para:

  • Modo Interactivo o Batch,
  • Invocando el modo Debug de la línea de comandos,
  • Reporte de error incluyendo el número de línea.

Funcionalidad adicional

La administración del sistema de archivos, la modificación de archivos y las operaciones de transmisión de texto se implementan con la biblioteca de tiempo de ejecución de secuencias de comandos scrrun.dll. Esto proporciona objetos como FileSystemObject, File y TextStream, que exponen el sistema de archivos de Windows al programador.

El archivo binario y la E/S de memoria son proporcionados por "ADODB.Stream" class, que también se puede usar para constructores de cadenas (para evitar una concatenación excesiva de cadenas, que puede ser costosa) y para interconvertir matrices de bytes y cadenas. El acceso a la base de datos es posible a través de ActiveX Data Objects (ADO), y la metabase de IIS se puede manipular mediante la función GetObject() con suficientes permisos (útil para crear y destruir sitios y directorios virtuales). Los archivos y esquemas XML se pueden manipular con las interfaces de programación de aplicaciones de la biblioteca XML de Microsoft (msxml6.dll, msxml3.dll), que también se puede usar para recuperar contenido de la World Wide Web a través de los objetos XMLHTTP y ServerXMLHTTP (cadenas de clase "MSXML2.XMLHTTP.6.0" y "MSXML2.ServerXMLHTTP.6.0", respectivamente).

También se puede agregar funcionalidad a través de tecnologías ActiveX. Las preocupaciones de seguridad han llevado a que Microsoft incluya muchos controles ActiveX en la lista negra en el proceso de Internet Explorer, que implementa el bit de eliminación a través de actualizaciones mensuales de seguridad de Windows para deshabilitar el código vulnerable de Microsoft y de terceros.

Los programadores pueden utilizar la extensibilidad a través de módulos COM (ActiveX) para equipar específicamente Script Host y VBScript con las funciones requeridas o deseadas. La "VTool" El componente, por ejemplo, agrega una serie de ventanas de diálogo, acceso a archivos binarios y otras funciones.

Herramientas de desarrollo

Microsoft no suele poner a disposición un IDE (Entorno de desarrollo integrado) para VBScript, aunque el Editor de secuencias de comandos de Microsoft se ha incluido con ciertas versiones de Microsoft Office.

Para fines de depuración, el depurador de secuencias de comandos de Microsoft todavía se puede usar en las versiones actuales de Windows, aunque la herramienta no se haya actualizado en años. Permite al usuario establecer puntos de interrupción en el código VBScript, pero la interfaz de usuario es más que torpe.

Hay depuradores de VBScript disponibles de fuentes de terceros y muchos editores de texto ofrecen resaltado de sintaxis para el lenguaje.

Durante la ejecución, cuando ocurre un error, el host del script emite un mensaje que indica el tipo de error y el número de la línea infractora.

Usos

Aunque VBScript es un lenguaje de secuencias de comandos de propósito general, vale la pena mencionar varias áreas particulares de uso. Primero, solía ser ampliamente utilizado entre los administradores de sistemas en el entorno de Microsoft, pero desde entonces ha sido ampliamente superado por PowerShell. En segundo lugar, VBScript es el lenguaje de secuencias de comandos para Micro Focus Unified Functional Testing, una herramienta de automatización de pruebas. Una tercera área a tener en cuenta es la adopción de VBScript como lenguaje de secuencias de comandos interno para algunas aplicaciones integradas, como las interfaces de operador industrial y las interfaces hombre-máquina. El DBMS InterSystems Caché jerárquico (que tiene sus raíces en el lenguaje MUMPS) también admite una implementación de VBScript, Cache BASIC, para programar código almacenado.

VBScript omite varias funciones útiles del Visual Basic completo, como tipeo fuerte, captura de errores extendida y la capacidad de pasar un número variable de parámetros a una subrutina. Sin embargo, su uso está relativamente extendido porque es fácil de aprender y porque quienes implementan el código en el lenguaje no necesitan pagar regalías a Microsoft siempre que se reconozca la marca VBScript. Cuando una organización obtiene una licencia de Visual Basic para aplicaciones (VBA) de Microsoft, como lo han hecho empresas como Autodesk, StatSoft, Great Plains Accounting y Visio (posteriormente adquirida por Microsoft), se le permite redistribuir el entorno completo de escritura y depuración de código VBA. con su producto.

VBScript se utiliza en lugar de VBA como lenguaje de macros de Outlook 97.

VBScript se puede utilizar de forma eficaz para automatizar las tareas diarias de la oficina, así como para supervisar el entorno basado en Windows. También se puede utilizar en colaboración con ADODB ActiveX Data Objects (ADODB) para una conectividad de base de datos eficaz.

VBScript también se puede utilizar para crear malware y virus, como el gusano ILOVEYOU que se propagó a través de archivos adjuntos de correo electrónico en Outlook 97 y costó miles de millones de dólares.

Contenido relacionado

Lectura incremental

Avión interceptor

Un avión interceptor, o simplemente interceptor, es un tipo de avión de combate diseñado específicamente para la función de intercepción defensiva...

Una máquina de sumar

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save