windows script
DESCRIPTION
Windows Script. Administración de Sistemas Windows 2003 Server. Santiago González Tortosa. ¿Por qué Windows Script?. Automatizar backups o RI del sistema. Apagar o Reiniciar Windows o cualquier tarea con un click de ratón Relacionar documentos, aplicaciones y automatizar operaciones. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/1.jpg)
Windows ScriptAdministración de Sistemas
Windows 2003 Server
Santiago González Tortosa
![Page 2: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/2.jpg)
¿Por qué Windows Script?• Automatizar backups o RI del sistema.• Apagar o Reiniciar Windows o cualquier tarea con
un click de ratón• Relacionar documentos, aplicaciones y automatizar
operaciones.• Controlar y automatizar tareas administrativas• Generar conexiones de red de forma automática• …
![Page 3: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/3.jpg)
Contenidos• Conceptos
• Introducción a VBScript
• Windows Script Host
• Conclusiones
• Ejercicio Práctico común con Directivas de grupo
![Page 4: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/4.jpg)
Windows ScriptConceptos
![Page 5: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/5.jpg)
Conceptos Básicos• Computador Von Neuman
entrada Unidad de Control de Procesos (CPU) salida
UC ALU
Memoria Principal
Almacenamiento (Mem. Secund)
![Page 6: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/6.jpg)
Lenguaje de Programación• Técnica estándar de comunicación que
permite expresar las instrucciones que han de ser ejecutadas en un computador.
• Conjunto de reglas sintácticas y semánticas que definen un programa informático.
• Permite a un programador especificar: – datos a operar, – Almacenamiento y transmisión – Acciones a realizar según circunstancias
![Page 7: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/7.jpg)
Clasificación de Lenguajes• Lenguajes Compilados
– Pascal, Ada, COBOL, Fortran, C/C++, C#, …
• Lenguajes Interpretados– PHP, ASP, VBScript, Python,…
• Lenguajes Compilados e Interpretados– Haskell, Prolog, …
![Page 8: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/8.jpg)
Compilación• CPU solo entiende binario, también llamado
código máquina (110010110)
• Proceso ejecutándose en binario
• Programa en binario
• ¿Se programa en binario? NO
compilador
![Page 9: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/9.jpg)
Programa VS Proceso• Programa
– “conjunto de instrucciones que llevan a cabo una operación en un computador”
– Texto en un fichero
• Proceso– Programa en ejecución– Se almacena en Memoria (prim. o sec.)
procesoprograma
![Page 10: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/10.jpg)
Paradigmas de Programación• Forma de representar y manipular el conocimiento. • Filosofía para la construcción del software. • Cada uno tiene ventajas y desventajas. • Situaciones donde un paradigma resulta más
apropiado que otro.• Tipos:
– Imperativo• Sentencias que cambian el estado del programa
– Declarativo o Funcional• Uso de funciones matemáticas y predicados formales
![Page 11: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/11.jpg)
Esquema de un Programa
ENTRADA ALGORITMO SALIDA
ALGORITMO: Conjunto de operaciones que, secuencialmente, conducen a la respuesta de una pregunta, en un numero finito de pasos.
![Page 12: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/12.jpg)
Metodología de Programación• Pasos en la resolución
– Análisis del problema– Realización de la estrategia ideada para su
solución– Verificación y análisis del rendimiento del
procedimiento.
![Page 13: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/13.jpg)
Análisis del Problema• Comprensión del problema
• Especificación de los datos de entrada
• Estudio de los resultados que se desean obtener
• Estudio del tipo de problema
![Page 14: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/14.jpg)
Estrategia ideada• Estudio del algoritmo a utilizar
– Casos básicos– Casos generales– Casos extremos
• Lectura de datos de entrada
• Uso de estructuras de datos
• Presentación de resultados
![Page 15: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/15.jpg)
Verificación y validación• Prueba con casos sencillos
• Prueba con casos complejos
• Prueba con casos extremos
• Estudio del rendimiento– Tiempo– Uso de memoria
• Refinamiento del algoritmo
![Page 16: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/16.jpg)
Posibles ejemplos• Mínimo entre dos números• Suma entre dos números• Saber si un numero es cuadrado perfecto• Calcular soluciones de una ecuacion de 2º orden• Calcular si una fecha (N,N,N) es correcta o no• Devolver el valor máximo de una secuencia• Calcular el numero de cifras de un numero natural• Indicar si una secuencia esta ordenada de mayor a menor• Devolver el numero de elementos de una secuencia.
![Page 17: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/17.jpg)
Problema de Josefo• Un grupo de personas prefieren el suicidio a
la esclavitud y deciden colocarse en círculo eligiendo siempre al siguiente como ejecutor y asesinando al situado después del ejecutor. Así sucesivamente hasta que quede un sólo ciudadano que debería suicidarse. El problema de Josefo es conocer en qué lugar ha de colocarse en el corro para quedar el último y reflexionar libremente sobre la decisión colectiva.
![Page 18: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/18.jpg)
Windows ScriptIntroducción a VBScript
![Page 19: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/19.jpg)
VBScript• ¿Qué es? ¿Qué formato tiene?
– Fichero de texto
• ¿Qué extensión tiene?– fichero.vbs
• ¿Cómo editarlo?– Con cualquier editor de texto– Microsoft Visual Studio
• ¿Cómo ejecutarlo?– Con el comando WScript (“WScript fichero.vbs”)– Doble click al fichero
![Page 20: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/20.jpg)
Estructura de VBScript• Estructura general de un programa
– Sentencias, líneas continuas, comentarios
• Constantes y variables• Operadores• Estructuras de control• Bucles• Funciones y Procedimientos• Clases
![Page 21: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/21.jpg)
Estructura de un Programa‘ ‘ **********************************************************************************‘ ‘ Programa de pruebaPrograma de prueba‘ ‘ Creado: 10/01/2006Creado: 10/01/2006‘ ‘ **********************************************************************************‘ ‘ declaro variabledeclaro variableDim mensaje
‘ ‘ inicializo la variableinicializo la variablemensaje = “hola, que tal? Estoy aprendiendo a programar en VBScript”
‘ ‘ imprimo el mensajeimprimo el mensajeWscript.Echo mensaje
‘ ‘ **** Fin del programa **** Fin del programa
![Page 22: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/22.jpg)
Constantes y Variables• Constantes
Const pi = 3.14159, beta = 0.3
• Variablespr = 200
precio = precio + 10
nombre = “Santi”
• Declaración explicita (con valor)Dim precio, iva, precio_total
![Page 23: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/23.jpg)
Constantes y Variables• Array
Dim secuencia(10)
secuencia(0) = 11
Dim matriz(2, 2)
• ObjetosSet obj = Wscript.Arguments
![Page 24: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/24.jpg)
Constantes y VariablesEjemplo 1: Calcular el precio real de dos
ordenadores, que cuestan:– 1123 euros – 1326 euros
Ambos sin iva. El programa debe devolver un mensaje personalizado.
Santi, el precio total del ordenador 1 es: XXX eurosSanti, el precio total del ordenador 1 es: XXX eurosSanti, el precio total del ordenador 2 es: YYY eurosSanti, el precio total del ordenador 2 es: YYY euros
![Page 25: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/25.jpg)
Operadores• Aritméticos
– +, -, *, /, \ (entera), Mod, ^+, -, *, /, \ (entera), Mod, ^
• Lógicos– And, Or, Xor, Imp, NotAnd, Or, Xor, Imp, Not
• Comparación– <, >, =, <=, >=, <><, >, =, <=, >=, <>
• Precedencia de operador
![Page 26: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/26.jpg)
Estructuras de Control• Condición IFIF
if condición condición thensentenciassentencias
elseif condición2condición2 thensentencias2sentencias2
elsesentencias3sentencias3
end if
• Condición CaseCaseselect case variablevariable
case valorvalorsentenciassentencias
case valor2valor2sentencias2sentencias2
case elsesentencias3sentencias3
end select
![Page 27: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/27.jpg)
Estructuras de Control• Ejemplo 2: Ejecutar un programa que
escriba una frase distinta cuando se cumpla una determinada condición, según el siguiente valor:– Valor 1– Valor 2– Otro valor
![Page 28: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/28.jpg)
Bucles• Do while/until• Do...loop while/until• For…Next• For Each…Next• While
• Exit Do• Exit For
![Page 29: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/29.jpg)
Do while/until• Do While
do while condicióncondición
sentenciassentencias
loop
• Ejemplodo while a <= 10a <= 10
a = a + 1a = a + 1
loop
• Do Untildo until condicióncondición
sentenciassentencias
loop
• Ejemplodo until a > 10a > 10
a = a + 1a = a + 1
loop
![Page 30: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/30.jpg)
Do…loop while/until• Do…loop While
do
sentenciassentencias
loop while condicióncondición
• Ejemplodo
a = a + 1a = a + 1
loop while a <= 10a <= 10
• Do…loop Untildo
sentenciassentencias
loop until condicióncondición
• Ejemplodo
a = a + 1a = a + 1
loop until a > 10a > 10
![Page 31: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/31.jpg)
For (each)…Next• For…Next
For variablevariable = inicioinicio to finfin
sentenciassentencias
Next
• EjemploFor i = 11 to 1010
a = a + 1a = a + 1
Next
• For each…NextFor each variablevariable in seqseq
sentenciassentencias
Next
• EjemploFor each personapersona in colacola
contador = contador + 1contador = contador + 1
Next
![Page 32: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/32.jpg)
While• For each…Next
While condicióncondiciónsentenciassentencias
Wend
• EjemploDim valueValue = 1While value < 10value < 10
value = value + 1value = value + 1Wend
![Page 33: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/33.jpg)
Funciones y Procedimientos• Función
function nombrenombre (parametrosparametros)
…
‘ nombrenombre es variable resultado
end function
• Ejemplo 3a: Realizar la suma de los 100 primeros números (número triangular)
![Page 34: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/34.jpg)
Funciones y Procedimientos• Procedimiento
sub nombrenombre (parametrosparametros)
…
‘ No se retorna valor
end sub
• Ejemplo 3b: Realizar la suma de los 100 primeros números (número triangular)
![Page 35: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/35.jpg)
Clases• Formato:
class nombrenombredeclaracionesdeclaracionesfunciones o procedimientosfunciones o procedimientos
end class
• Ejemplo 4: Almacenar los siguientes datos de un comprador:– Nombre– Calle– Código postal– Teléfono
![Page 36: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/36.jpg)
Clases• Atributos publicos y privados• Propiedad get: el usuario me pide atributo “virtual”, que le devuelvo?• Propiedad let: el usuario da valor a un atributo “virtual”, que hago con
el?property get var_virtualvar_virtual property let var_virtualvar_virtual
accionesacciones acciones accionesend property end property
• Ejemplo 5: Se desea tener los siguientes datos de cada unos de los usuarios:– Nombre completo– Correo electrónico– Login– Password
![Page 37: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/37.jpg)
Windows ScriptWindows Script Host
![Page 38: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/38.jpg)
Windows Script Host• Método ECHO• Cuadros de Mensaje• Objeto WScript
– Variables de Entorno– Ejecución de programas
• Interacción de entrada con el usuario• Creación de accesos directos• Uso de Sistemas de Fichero y Entrada/Salida• Control de Red• Control de Windows y otras aplicaciones
![Page 39: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/39.jpg)
Método ECHO
Wscript.Echo “Hola, Mundo”
Wscript.Echo “Hola, ”, “Mundo”
Wscript.Echo “El precio es ”, precio, _
“ pero se puede rebajar a ”, rebaja
![Page 40: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/40.jpg)
Cuadros de Mensaje• Formato:
MsgBox textotexto, botonesbotones, titulotitulo• Ejemplo:
MsgBox “esto es una prueba”, 0, “prueba”• Posibilidades:
– Botones• 0: Boton OK• 1: Ok y Cancel• 2: Abort, Retry y Ignore• 3: Yes, No y Cancel• 4: Yes y No• 5: Retry y Cancel
![Page 41: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/41.jpg)
Cuadros de Mensaje– Iconos
• 0: Sin icono• 16: Parada• 32: Pregunta• 48: Exclamación• 64: Información
– Foco• 0: Primer botón• 256: Segundo botón• 512: Tercer botón
![Page 42: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/42.jpg)
Cuadros de Mensaje– Resultado del Cuadro (res = función MsgBox):
• 1: OK• 2: Cancel• 3: Abort• 4: Retry• 5: Ignore• 6: Yes• 7: No
• Ejemplo 6: Hacer un cuadro de mensaje que pregunte si deseamos un viaje al Caribe. El programa debe contestar a cada posibilidad.
![Page 43: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/43.jpg)
Objeto WScript• Permite acceder a argumentos
For each arg in Wscript.Arguments,,,
Next
• Permite control de variables de EntornoSet sh = CreateObject(“Wscript.Shell”)Set env = sh.Enviroment(“Process”)…texto = env(“PATH”)env(“PATH”) = “c:/windows”env.remove(“PATH”)
![Page 44: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/44.jpg)
Objeto WScript• Permite ejecutar otros programas
sh.Run mandatomandato [, estiloestilo] [, esperaespera]– Estilo Ventana
• 0: Oculta• 1: Normal• 2: Minimizada• 3: Maximizada• 4: Normal pero sin foco• 6: Minimizada pero sin foco
– Espera: TrueTrue o FalseFalse– Ejemplo 7: Ejecutar el programa Notepad maximizado.
![Page 45: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/45.jpg)
Interacción de entrada• Caja de entrada
res = InputBox (prompt, [titulotitulo], [defectodefecto], [xx], [yy])
• Si resultado es “”, cancelación de inserción• Ejemplo 8: Ejecutar un acceso a un
programa en el que el usuario tenga que indicar su username. Por cada usuario, debe contestar algo distinto. Hay tres usuarios registrados:– “Luis”, “Juan” y “Maria”
![Page 46: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/46.jpg)
Creación de accesos directosset sh = WScript.CreateObject("WScript.Shell")
set lnk = sh.CreateShortcut(nombrenombre)
…
lnk.save
• Path del Escritorio:path = sh.SpecialFolders("Desktop")
• Ejemplo 9: Creación de un acceso directo del Script en el escritorio.
![Page 47: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/47.jpg)
Uso de Sistemas de Fichero y E/Sset fs = WScript.CreateObject(“Scripting.FileSystemObject”)
• Acceso a todas las unidades de discos (Ejemplo 10)
set discos = fs.Drivesfor each d in discos
…next
• Propiedades de una unidadif (NOT fs.DriveExists(“H”“H”)) then
Wscript.Quitelse
set drive = fs.GetDrive(“H”“H”)if (drive.IsReady) then
drive.DriveLetterdrive.DriveType ‘ (Desconocido, Borrable, Duro, Remoto, CD, RAM)‘ (Desconocido, Borrable, Duro, Remoto, CD, RAM)drive.VolumeName (ShareName)drive.TotalSizedrive.FreeSpace
end ifend if
![Page 48: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/48.jpg)
Uso de Sistemas de Fichero y E/S• Acceso a carpetas
set carpeta = fs.GetFolder (pathpath)set carpetas = carpeta.SubFoldersfor each c in carpetas
…c.Name
Next• Crear nueva carpeta Set nc = fs.CreateFolder(path)• Renombrar c.Rename(nombrenombre)• Copiar carpeta fs.CopyFolder path1 path2path1 path2• Mover carpeta fs.MoveFolder path1 path2<path1 path2<• Borrar carpeta fs.DeleteFolder(pathpath)• Existencia Carpeta fs.FolderExists(pathpath)
![Page 49: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/49.jpg)
Uso de Sistemas de Fichero y E/S• Acceso a ficheros
set ficheros = carpeta.Filesfor each f in ficheros
…f.Namef.Sizef.DateCreatedf.DateLastModified
Next
• Ejemplo 11: Mostrar el contenido de la carpeta System• Existencia de fichero fs.FileExists(ficherofichero)• Copiar ficheros fs.CopyFile path1 path2path1 path2• Borrar ficheros fs.DeleteFile(ficherofichero)• Ejemplo 12: Sistema Backup
![Page 50: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/50.jpg)
Uso de Sistemas de Fichero y E/S• Acceso a un fichero de texto
OpenTextFile(nombre [, modo[, crear[, formato]]] )nombre [, modo[, crear[, formato]]] )– Modo: (1) ForReading, (2) ForWriting, (3) ForAppending– Crear: True si se va a crear nuevo. False en caso contrario– Formato: TristateTrue si es Unicode, TristateFalse si es ASCII
• Lectura de fichero de textoset entrada = fs.OpenTextFile(“fichero.txt”“fichero.txt”)Do While Not (entrada.atEndOfStream)
Texto = Texto & entrada.ReadLine & vbCrLfLoop
• Escritura (con/sin reemplazo) en ficheroset salida = fs.OpenTextFile(“fichero.txt”, 2, True“fichero.txt”, 2, True)Do While Not (entrada.atEndOfStream)
texto = entrada.ReadLinesalida.WriteLine texto
Loop• Ejemplo 13: Copiar el contenido de un fichero en otro
![Page 51: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/51.jpg)
Control de Red
• Objeto “Wscript.Network”
• Propiedades:– ComputerName: nombre maquina– UserName: usuario logeado– UserDomain: dominio conectado
• Ejercicio 14: Mostrar la informacion del sistema por pantalla.
![Page 52: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/52.jpg)
Control de Red• Añadir Impresora de Red
Nw.AddPrinterConnection [port][port], LPpath LPpath
• Eliminar Impresora de RedNw.RemovePrinterConnection NameName
• Listado Impresorasset impresoras = Nw.EnumPrinterConnections NameName
for i = 0 to impresoras.Count – 1 Step 2
puerto = impresoras(i)nombre = impresoras(i+1)
next
• Indicar Impresora PredeterminadaNw.SetDefaultPrinter Name
![Page 53: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/53.jpg)
Control de Red• Añadir unidades de red
Nw.MapNetWorkDrive unidad pathunidad path
• Listado de unidades de redset unidades = Nw.EnumNetWorkDrivesfor i = 0 to unidades.Count -1 step 2
unidad = unidades(i)path = unidades(i+1)
next
• Ejemplo 15: Crear una unidad de red con una carpeta compartida de tu propia maquina
![Page 54: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/54.jpg)
Control de Windows y otras aplicaciones
• Dormir proceso
• Manejo de aplicaciones con teclas
![Page 55: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/55.jpg)
Dormir Proceso• Dormir script
Wscript.Sleep milisegundos
• Espera de datos, uso de CPU
• Para selección de procesosset sh = Wscript.CreateObject(“Wscript.Shell”)
sh.Run “Calc.exe”, 1
Wscript.Sleep 500
sh.Run “NotePad.exe”, 1
Wcript.Sleep 500
![Page 56: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/56.jpg)
Manejo de aplicaciones con teclas• Uso de teclas
set sh = Wscript.CreateObject
(“Wscript.Shell”)
sh.sendKeys(“teclasteclas”)
• Teclas especialesNum Lock {NUMLOCK}
F1 {F1}
F2 {F2}
… …
F16 {F16}
Shift +
Ctrl ^
Alt %
Retroceso {BS}
Caps Lock {CAPSLOCK}
DELETE {DEL}
↓ ↑ → ← {DOWN UP LEFT RIGHT}
Enter {ENTER}
ESC {ESC}
Print {PRTSC}
Tab {TAB}
![Page 57: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/57.jpg)
Manejo de aplicaciones con teclas
• Ejemplo 16: Crear un script que ejecute la calculadora, calcule el producto entre 1564 y 54028 y luego se cierre automaticamente (Alt+F4)
![Page 58: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/58.jpg)
Manejo de aplicaciones con teclas
• Paso de un proceso a otrosh.AppActivate titulotitulo
– Titulo: Titulo actual de la aplicación
TituloTitulo: “Documento - WordPad”
![Page 59: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/59.jpg)
Manejo de aplicaciones con teclas
• Ejemplo 17: Crear un Script que ejecute el notepad y el wordpad, escriba una frase en notepad, la copie y pegue en wordpad
![Page 60: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/60.jpg)
Windows ScriptConclusiones
![Page 61: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/61.jpg)
Conclusiones• Muy sencillo de programar
• Muy sencillo de ejecutar
• Muy útil
• Muy cómodo
• Puede llegar a ser complejo
• Es muy parecido al resto de lenguajes de programación
![Page 62: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/62.jpg)
Referencias• Microsoft Windows Script Host 2.0
Developers’s Guide – Günter Born
• http://www.microsft.com/
![Page 63: Windows Script](https://reader036.vdocuments.us/reader036/viewer/2022062314/5681427e550346895daea743/html5/thumbnails/63.jpg)
Información• Mail: [email protected]
• Páginas web:– http://laurel.datsi.fi.upm.es/~sgonzalez/– http://laurel.datsi.fi.upm.es/