Archivo de secuencia de comandos de Windows


Un archivo de secuencia de comandos de Windows ( WSF ) es un tipo de archivo utilizado por Microsoft Windows Script Host . Permite mezclar los lenguajes de secuencias de comandos JScript y VBScript en un solo archivo, u otros lenguajes de secuencias de comandos como Perl , Object REXX , Python o Kixtart si el usuario los instala. Estos tipos de secuencias de comandos también se pueden utilizar para vincular muchas otras secuencias de comandos externas mediante un srcparámetro en la " o "

El primer módulo de secuencia de comandos producirá un error de "división por cero". Normalmente, esto haría que la secuencia de comandos terminara en Windows Script Host, pero este método modular permite que la secuencia de comandos continúe y ejecute el segundo módulo de secuencia de comandos.

Un archivo de secuencia de comandos de Windows admite varios idiomas, como se describe en la referencia de Windows Script Host . Una de las características de este formato de archivo es que puede utilizar más de uno a la vez. Esto significa que puede hacer que un lenguaje de secuencias de comandos utilice código de otro lenguaje de secuencias de comandos. El ejemplo más memorable para desde hace mucho tiempo VBScript usuarios es el uso de Microsoft JScript atender una solicitud de tipo de VBScript ya que no tiene un sistema incorporado en función de clasificación de una matriz de valores. Los usuarios de VBScript pueden escribir su propio método de clasificación o tomar prestado uno de un objeto existente como un conjunto de registros ADO ( ActiveX Data Objects ) o un .NET ( .NET Framework ) ArrayList , pero la forma más rápida de ordenar una matriz es utilizar el método integrado en JScript . Aquí hay un ejemplo básico de cómo funciona:

 xml version = "1.0"?>    id = "SORT-VBScriptWithJScript" >      

La salida se ve así, ordenada por secuencia de código ASCII :

Lista original de valores: a, b, c, 1,2,3, X, Y, Z, p, d, qJScript ordenado en 0 segundos: 1,2,3, X, Y, Z, a, b, c, d, p, q

Otra característica muy útil de un WSF es que el contenedor XML se puede vincular a una referencia o control de objeto para que pueda usar las constantes de ese objeto en lugar de tener que declararlas. En archivos normales de VBScript y JScript , se vería obligado a declarar el valor de una constante (fuera de los internos de Windows Script Host ) para poder usar la constante. A continuación se muestra un ejemplo de esto:

const adLockBatchOptimistic = 4   MsgBox "El valor de" "adLockBatchOptimistic" "es" & _    adLockBatchOptimistic & "." , vbInformation , "adLockBatchOptimistic"   

Si la documentación de su objeto solo se refiere al nombre de la constante y no al valor de la constante, no tendría forma de conocer el valor sin la ayuda de un entorno de desarrollo integrado que le diga a qué equivalen. Al usar la declaración de referencia WSF, puede usar las constantes sin declarar sus valores. El siguiente ejemplo enumera los valores de varias constantes comunes en el conjunto de registros ADO ( ActiveX Data Objects ) .

 xml version = "1.0"?> notas de referencia de objeto para este ejemplo muy formal: CDATA se utiliza para ayudar al analizador XML a ignorar caracteres especiales en el contenido del script. La apertura y el cierre de CDATA deben enmascararse de VBScript haciéndolos comentarios. ->    id = "EnumerateConstantsADO" >  <  objeto de referencia = "ADODB.Recordset"  />     

Ejecutar el script anterior desde un archivo con una ".WSF"extensión, como uno nombrado "EnumerateConstantsADO.wsf", producirá el resultado que se muestra a continuación:

Valores de conjunto de registros ADO para constantes* CursorTypeEnum Constantes *-1 adOpenUnspecified0 adOpenForwardOnly1 anuncioOpenKeyset2 adOpenDynamic3 adOpenStatic* LockTypeEnum Constantes *-1 adLockUnspecified1 adLockReadOnly2 adLockPessimistic3 adLockOptimistic4 adLockBatchOptimistic

Además, el uso de la referencia de objeto para exponer las constantes hace que escribir el script se parezca más a escribir en un lenguaje de programación estándar. De hecho, el contenido del script de muestra, escrito en VBScript, se compilará en un programa de Visual Basic y se ejecutará de la misma manera siempre que ese programa use la misma referencia a ADODB.