stringtranslate.com

VBScript

VBScript ( " Microsoft Visual Basic Scripting Edition" ) es un lenguaje Active Scripting obsoleto desarrollado por Microsoft que sigue el modelo de Visual Basic . Permite a los administradores de sistemas Microsoft Windows generar poderosas herramientas para administrar computadoras sin manejo de errores y con subrutinas y otras construcciones de programación avanzadas. Puede brindarle al usuario un control total sobre muchos aspectos de su entorno informático.

VBScript utiliza el modelo de objetos componentes para acceder a 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 ; [1] en Windows Server desde Windows NT 4.0 Option Pack ; [2] y opcionalmente con Windows CE (según el dispositivo en el que esté instalado).

Un script VBScript debe ejecutarse dentro de un entorno host , de los cuales hay varios proporcionados con Microsoft Windows, incluidos: Windows Script Host (WSH), Internet Explorer (IE) e Internet Information Services (IIS). [3] Además, el entorno de alojamiento 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 inicialmente dirigida a 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 Windows que buscaban una herramienta de automatización más poderosa que el lenguaje por lotes desarrollado por primera vez a principios de los años 1980. [4] El 1 de agosto de 1996, se lanzó Internet Explorer con funciones que incluían VBScript. [5]

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

En la versión 5.5, se agregaron SubMatches [8] a la clase de expresión regular en VBScript, para finalmente permitir a los autores de scripts 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 scripting decidió implementar soporte futuro para VBScript dentro de ASP.NET para el desarrollo web, [9] y por lo tanto no se desarrollarían nuevas versiones del motor VBScript. De ahora en adelante, contará con el soporte del equipo de ingeniería de mantenimiento de Microsoft , que es responsable de corregir errores y mejorar la seguridad. Para los administradores de sistemas Windows, Microsoft sugiere migrar a Windows PowerShell , ya que VBScript está en desuso y eventualmente se eliminará de Windows.

El 9 de octubre de 2023, Microsoft anunció planes para dejar de utilizar y, finalmente, eliminar VBScript de futuras versiones de Windows. [10]

Ambientes

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 en HTML solo. 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 suelen elegir JavaScript en lugar de la mayoría de los otros lenguajes de programación, como VBScript.

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

 <% Opción Explícita %>    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transicional//ES" "http://www.w3.org/TR/html4/loose.dtd"> <html> <cabeza> <título>  Ejemplo de VBScript </título> </cabeza> <cuerpo> <div><%  ' Toma la hora actual de la función Now(). ' Un signo '=" que aparece después de un cambio de contexto (<%) es una abreviatura ' para una llamada al método Write() del objeto Respuesta. Dim timeValue : timeValue = Ahora %>       La  hora,  en formato  de 24 horas  ,  es  <%= Hora ( timeValue ) %> : <%= Minuto ( timeValue ) %> : <%= Segundo ( timeValue ) %> . </div> </cuerpo> </html>

VBScript también se puede utilizar para crear aplicaciones que se ejecuten directamente en una estación de trabajo que ejecute Microsoft Windows . El ejemplo más simple es un script que utiliza el entorno Windows Script Host (WSH). Un script de este tipo suele estar en un archivo independiente con la extensión de archivo .vbs . El script se puede invocar de dos maneras: Wscript.exe se usa para mostrar resultados 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 XML. Un archivo WSF puede incluir varios archivos VBS. Como resultado, los archivos WSF proporcionan un medio para la reutilización de código: una biblioteca de clases o funciones se puede almacenar en uno o más .vbsarchivos, que se pueden incluir en .wsfarchivos, por lo que la funcionalidad se puede reutilizar de forma modular. Los archivos tienen extensión .wsfy 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 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 extensión .htay se pueden ejecutar usando mshta.exe .

VBScript (y JScript) también se pueden utilizar en un componente de secuencia de comandos de Windows, una clase de secuencia de comandos habilitada para ActiveX que puede ser invocada por otras aplicaciones habilitadas para COM . [11] Estos archivos tienen extensión .wsc .

VBScript es fácil de crear y se puede codificar utilizando un editor de texto fácil de usar como el Bloc de notas. Un VBScript simple guardado con la .vbsextensión 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, puede revisarse utilizando categorías similares: procedimientos, estructuras de control, constantes, variables, interacción del usuario, manejo de matrices, funciones de fecha/hora, manejo de errores, funciones matemáticas, objetos, expresiones regulares, manipulación de cadenas, etc. [12]

Los siguientes son algunos puntos clave de la 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 declaració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 bucles Do iterativos y condicionales, declaraciones If-Then-Else y declaraciones 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 facilitar la lectura, existe una gran cantidad de constantes, como Verdadero y Falso para valores lógicos, vbOKCancel y vbYesNo para códigos MsgBox, vbBlack y vbYellow para valores de color, vbCR para el carácter de retorno de carro, y muchos otros.

Las variables tienen el tipo " Variante " 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 funciones MsgBoxque InputBoxproporcionan un formato de cuadro de diálogo simple para mensajes y entradas. Ambas funciones muestran mensajes de solicitud: 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, se puede utilizar VBScript en combinación con HTML, por ejemplo, en una aplicación HTML . Los formularios controlados por eventos no son compatibles como en Visual Basic o Visual Basic para Aplicaciones .

Los nombres no distinguen entre mayúsculas y minúsculas. Sin embargo, se considera que una de las mejores prácticas del estilo VBScript es ser coherente y utilizar las mayúsculas con prudencia.

Funcionalidades de VBScript

Cuando está alojado en Windows Script Host , VBScript proporciona numerosas funciones 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:

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

Funcionalidad adicional

La gestión del sistema de archivos, la modificación de archivos y las operaciones de transmisión de texto se implementan con Scripting Runtime Library scrrun.dll. Esto proporciona objetos como FileSystemObject, File y TextStream, que exponen el sistema de archivos de Windows al programador.

La clase "ADODB.Stream" proporciona E/S de memoria y archivos binarios, que también se puede utilizar para creadores de cadenas (para evitar una concatenación excesiva de cadenas, que puede ser costosa) y para interconvertir cadenas y matrices de bytes. 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 utilizando la función GetObject() con permisos suficientes (ú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 pueden utilizar 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 en la lista negra muchos controles ActiveX en el proceso de Internet Explorer, que implementa el killbit a través de actualizaciones de seguridad mensuales de Windows para desactivar el código vulnerable de Microsoft y de terceros. [13] [14]

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. El componente "VTool", por ejemplo, agrega una serie de ventanas de diálogo, acceso a archivos binarios y otras funciones. [15]

Herramientas de desarrollo

Microsoft no pone a disposición de forma rutinaria un IDE ( entorno de desarrollo integrado ) para VBScript, aunque el Microsoft Script Editor se ha incluido con ciertas versiones de Microsoft Office.

Para fines de depuración, Microsoft Script Debugger todavía se puede utilizar 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, [16] [17] 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 indicando el tipo de error y el número de la línea infractora.

Usos

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

VBScript omite varias características útiles de Visual Basic completo, como escritura segura, 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. [ cita necesaria ] Cuando una organización obtiene la 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 código VBA completo. entorno de escritura y depuración con su producto.

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

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

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

Desuso y eliminación de Windows

En octubre de 2023, Microsoft anunció que VBScript está obsoleto en Windows y está previsto que se elimine en una versión futura. [21]

Ver también

Referencias

  1. ^ Información de la versión WSH, en MSDN
  2. ^ Información de la versión de VBScript, en MSDN
  3. ^ ¿ Qué es VBScript?, en la biblioteca MSDN
  4. ^ 86-DOS
  5. ^ "La historia de Visual Basic". www.johnsmiley.com .
  6. ^ Visual Basic Scripting Edition: con declaración, en MSDN
  7. ^ Función GetRef, en MSDN
  8. ^ Edición de secuencias de comandos de Visual Basic: colección SubMatches, en MSDN
  9. ^ ¿Qué pasa con VBScript?, en el artículo Introducing JScript .NET de Andrew Clinick de Microsoft Corporation, en Scripting Clinic en MSDN (14 de julio de 2000)
  10. ^ "Funciones obsoletas para el cliente Windows". 7 de noviembre de 2023.
  11. ^ Presentación de los componentes de Windows Script, en MSDN
  12. ^ "Características de VBScript". msdn.microsoft.com . 24 de octubre de 2011.
  13. ^ "Cómo detener la ejecución de un control ActiveX en Internet Explorer". Microsoft . 2007-08-24 . Consultado el 29 de junio de 2009 .
  14. ^ "Aviso de seguridad de Microsoft (960715): paquete acumulativo de actualizaciones para ActiveX Kill Bits". Microsoft . 2009-01-17 . Consultado el 29 de junio de 2009 .
  15. ^ Componente de script "VTool": GUI y mejoras funcionales para WSH/VBS
  16. ^ "VbsEdit - Editor VBScript con depurador - Editor VBS". www.vbsedit.com .
  17. ^ Corp., Tecnologías Spline. "Depurador SplineTech VBS, Depurador VBScript. Depurar VBS". www.remotedebugger.com .
  18. ^ Script Center, sitio web de Microsoft dirigido a scripters de administración de sistemas
  19. ^ "Quick Test Professional: conceptos básicos de VBScript". Archivado desde el original el 17 de febrero de 2010 . Consultado el 5 de mayo de 2010 .
  20. ^ "Caché para análisis de datos no estructurados". Intersistemas . Consultado el 24 de septiembre de 2018 .
  21. ^ "Funciones obsoletas en el cliente de Windows: novedades de Windows". 7 de noviembre de 2023.

enlaces externos