| Artículos | 01 DIC 1998

Windows Scripting Host

Tags: Histórico
Ejecución nativa de scripts en Windows
Francisco Charte.

Tradicionalmente los usuarios de ordenadores conocidos habitualmente como PC tan sólo han tenido una opción a la hora de automatizar tareas simples: los limitados archivos de proceso por lotes heredados de DOS, es decir, los conocidos archivos BAT . En ellos, aparte de manipular directorios y archivos, mostrar mensajes y ejecutar programas, poco más podía hacerse . La aparición de las diversas versiones de Windows no supusieron ningún avance en ese campo hasta hace poco, con la aparición de Windows Scripting Host ( WSH en adelante ) .

Comparando los archivos de proceso por lotes de DOS/Windows con las posibilidades de los scripts de Unix, por poner un ejemplo, podían apreciarse las grandes deficiencias de los primeros . Ausencia absoluta de estructuras de control, sin posibilidad de manipular valores simples aparte de los códigos de retorno de los programas y dificultad de estructurar el código al no poder codificarse procedimientos o funciones .

Si bien es cierto que Unix siempre se ha considerado un sistema para entendidos, mientras que DOS era para principiantes, no es menos cierto que miles de usuarios Unix con mínimos conocimientos de programación aprovechan diariamente las posibilidades de script que les ofrece su sistema .

WSH supone la mayoría de edad de Windows en el campo de la automatización de tareas mediante pequeños scripts ejecutables por el propio sistema, con capacidades infinitamente superiores a las de los archivos de proceso por lotes de DOS, que siguen estando disponibles, y comparables a las de cualquier otro sistema .

¿ Qué es WSH ?

Como puede deducirse del propio nombre, Windows Scripting Host, no estamos ante un nuevo lenguaje de script . WSH es, en realidad, un controlador capaz de utilizar distintos motores de lenguaje, entre los cuales se encuentran los conocidos VBScript y JavaScript . Seguramente ya conoce algún otro controlador de este tipo de motores, como Microsoft Internet Explorer o Internet Information Server . Lo que ha hecho Microsoft es integrar en el propio sistema la capacidad que tienen esas aplicaciones para interpretar y ejecutar los scripts .

WSH es un controlador que se sirve de un motor de script, basado en un determinado lenguaje, para analizar y ejecutar el código . El motor en sí es un componente COM que implementa ciertas interfaces, como IActiveScriptParse . Cualquiera puede desarrollar un motor para su propio lenguaje y hacer que funcione con WSH, tan sólo hay que seguir unas normas, implementando ciertas interfaces . El componente puede estar desarrollado prácticamente en cualquier lenguaje de programación, ya que actualmente la mayoría de ellos facilitan la creación de objetos COM .

Desde el punto de vista del usuario no-programador, qué es o no WSH no tiene demasiada importancia . Lo único que ha de saber es cómo crear un script y cómo ejecutarlo, lo demás son detalles de implementación y desarrollo .

¿ Cómo funciona WSH ?

¿ Qué significa que WSH actúa como un controlador ? . Cuando el usuario hace doble clic sobre un archivo que contiene un script, es WSH el que determina qué motor de lenguaje hay que poner en marcha, crea el objeto COM y le envía el código para su análisis . Es la extensión del archivo la que permitirá saber a WSH en qué lenguaje está escrito el script y, por lo tanto, qué motor es el que tiene que usar . WSH controla el motor para conseguir la ejecución del script, de ahí que se le llame controlador .

No obstante, WSH no puede conocer de antemano las extensiones de todos los posibles lenguajes de script ya que, como se ha apuntado, cualquiera puede desarrollar uno propio . Aquí es donde entra en escena el registro de configuraciones . Cuando se intenta abrir un archivo, Windows busca en el registro una entrada que corresponda con la extensión . Si el script está escrito en VBScript dicha extensión es . Vbs . El valor que almacena esta clave le indica que ese archivo es un VBSFile . Una segunda búsqueda en el registro le permite saber que se trata de un archivo relacionado con el motor de script almacenado en la subclave ScriptEngine, que en el supuesto mencionado sería VBScript . Una tercera y última búsqueda devolvería el identificador, llamado CLSID, del objeto COM que actúa como motor de ese lenguaje .

El motor del lenguaje, a petición de WSH, se encargará de analizar el script y ejecutarlo . En este proceso puede utilizarse el mecanismo de automatización ActiveX para usar cualquier servidor que esté preparado para ello, lo que significa que es posible usar muchos objetos y controles ActiveX existentes en el sistema, además de los ofrecidos por aplicaciones como Office . WSH, además, cuenta con una serie de objetos adicionales pensados para facilitar desde un script la manipulación de elementos como el sistema de archivos, los elementos de red o el entorno de trabajo .

Crear un script y ejecutarlo

Para crear un script tan sólo necesitamos un editor sencillo, como el propio Bloc de notas de Windows . Para ejecutarlo deberemos disponer de Windows 98 o Windows 2000 ( nombre que adoptará la nueva versión de Windows NT ) , sistemas que integran WSH, o bien haber instalado WSH en nuestra versión actual de Windows si ésta es anterior a las dos citadas . En msdn . microsoft . com/scripting podrá encontrar información sobre cómo obtener e instalar WSH .

El primer script que tenemos que escribir, según la tradición, es aquel que se limita a emitir un saludo por pantalla . Bastará con abrir el Bloc de notas, introducir la línea siguiente y guardar el archivo con el nombre Saludo . vbs .

WScript . Echo ?Hola desde PC World?

Podemos apreciar cuatro elementos en la línea anterior: la palabra WScript, el punto de separación, la palabra Echo y una cadena de caracteres delimitada por comillas dobles . WScript es un objeto facilitado por WSH para realizar tareas comunes, como son mostrar mensajes, crear objetos, obtener información o finalizar la ejecución del script . Todos esos elementos son propiedades o métodos de WScript, a los que se accede disponiendo su nombre separado por un punto . El método Echo lo que hace es imprimir la cadena de texto que se entrega como parámetro, al igual que el comando del mismo nombre de DOS .

Para ejecutar el script tan sólo hay que hacer doble clic sobre el archivo, por ejemplo desde el Explorador de Windows . En este caso estará utilizando la versión de WSH basada en Windows, llamada Wscript . Existe otra versión, que permite ejecutar los scripts desde la línea de comandos de DOS, llamada Cscript . Es posible usar cualquiera de las dos tanto desde Windows como desde la línea de comandos . En el primer caso bastará con abrir el menú contextual, pulsando el botón derecho del ratón sobre el script a ejecutar, y seleccionar la opción adecuada . En el segundo habrá que ejecutar Wscript o Cscript, según nos interese, pasando como parámetro el nombre del archivo .

Conocimientos necesarios

Para poder usar y aprovechar las posibilidades que WSH ofrece a los usuarios de Windows es necesario tener conocimientos en dos campos: un lenguaje de script existente para WSH y el modelo de objetos que éste ofrece .

Actualmente los dos lenguajes de script más difundidos, gracias a su uso en los clientes web más populares, son VBScript y JavaScript . Ambos pueden usarse para crear un script y ejecutarlo con WSH . Según Microsoft, terceros desarrolladores ofrecerán motores para lenguajes como TCL o REXX, por lo que es de esperar que la oferta se vaya ampliando .

VBScript es un lenguaje muy conocido porque, además de usarse como lenguaje de script en Internet Explorer, es muy similar a Visual Basic y Visual Basic para Aplicaciones, lenguajes usados por miles de

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información