Академический Документы
Профессиональный Документы
Культура Документы
Administracin de Sistemas
Windows 2003 Server
Contenidos
Conceptos
Introduccin a VBScript
Windows Script Host
Conclusiones
Ejercicio Prctico comn con Directivas de
grupo
Windows Script
Conceptos
Conceptos Bsicos
Computador Von Neuman
Almacenamiento
(Mem. Secund)
Memoria Principal
UC
entrada
ALU
Lenguaje de Programacin
Tcnica estndar de comunicacin que
permite expresar las instrucciones que han
de ser ejecutadas en un computador.
Conjunto de reglas sintcticas y semnticas
que definen un programa informtico.
Permite a un programador especificar:
datos a operar,
Almacenamiento y transmisin
Acciones a realizar segn circunstancias
Clasificacin de Lenguajes
Lenguajes Compilados
Pascal, Ada, COBOL, Fortran, C/C++, C#,
Lenguajes Interpretados
PHP, ASP, VBScript, Python,
Compilacin
CPU solo entiende binario, tambin llamado
cdigo mquina (110010110)
Proceso ejecutndose en binario
Programa en binario
Se programa en binario? NO
compilador
Programa VS Proceso
Programa
conjunto de instrucciones que llevan a cabo una
operacin en un computador
Texto en un fichero
Proceso
Programa en ejecucin
Se almacena en Memoria (prim. o sec.)
programa
proceso
Paradigmas de Programacin
Declarativo o Funcional
Uso de funciones matemticas y predicados formales
Esquema de un Programa
ENTRADA
ALGORITMO
SALIDA
Metodologa de Programacin
Pasos en la resolucin
Anlisis del problema
Realizacin de la estrategia ideada para su
solucin
Verificacin y anlisis del rendimiento del
procedimiento.
Estrategia ideada
Estudio del algoritmo a utilizar
Casos bsicos
Casos generales
Casos extremos
Verificacin y validacin
Posibles ejemplos
Problema de Josefo
Un grupo de personas prefieren el suicidio a
la esclavitud y deciden colocarse en crculo
eligiendo siempre al siguiente como ejecutor
y asesinando al situado despus del
ejecutor. As sucesivamente hasta que
quede un slo ciudadano que debera
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 decisin colectiva.
Windows Script
Introduccin a VBScript
VBScript
Qu es? Qu formato tiene?
Fichero de texto
Qu extensin tiene?
fichero.vbs
Cmo editarlo?
Con cualquier editor de texto
Microsoft Visual Studio
Cmo ejecutarlo?
Con el comando WScript (WScript fichero.vbs)
Doble click al fichero
Estructura de VBScript
Estructura general de un programa
Sentencias, lneas continuas, comentarios
Constantes y variables
Operadores
Estructuras de control
Bucles
Funciones y Procedimientos
Clases
Estructura de un Programa
*****************************************
Programa de prueba
Creado: 10/01/2006
*****************************************
declaro variable
Dim mensaje
inicializo la variable
mensaje = hola, que tal? Estoy aprendiendo a programar en VBScript
imprimo el mensaje
Wscript.Echo mensaje
**** Fin del programa
Constantes y Variables
Constantes
Const pi = 3.14159, beta = 0.3
Variables
pr = 200
precio = precio + 10
nombre = Santi
Constantes y Variables
Array
Dim secuencia(10)
secuencia(0) = 11
Dim matriz(2, 2)
Objetos
Set obj = Wscript.Arguments
Constantes y Variables
Ejemplo 1: Calcular el precio real de dos
ordenadores, que cuestan:
1123 euros
1326 euros
Operadores
Aritmticos
+, -, *, /, \ (entera), Mod, ^
Lgicos
And, Or, Xor, Imp, Not
Comparacin
<, >, =, <=, >=, <>
Precedencia de operador
Estructuras de Control
Condicin IF
if condicin then
sentencias
elseif condicin2 then
sentencias2
else
sentencias3
end if
Condicin Case
select case variable
case valor
sentencias
case valor2
sentencias2
case else
sentencias3
end select
Estructuras de Control
Ejemplo 2: Ejecutar un programa que
escriba una frase distinta cuando se cumpla
una determinada condicin, segn el
siguiente valor:
Valor 1
Valor 2
Otro valor
Bucles
Do while/until
Do...loop while/until
ForNext
For EachNext
While
Exit Do
Exit For
Do while/until
Do While
do while condicin
sentencias
loop
Ejemplo
do while a <= 10
a=a+1
loop
Do Until
do until condicin
sentencias
loop
Ejemplo
do until a > 10
a=a+1
loop
Doloop while/until
Doloop While
do
sentencias
loop while condicin
Ejemplo
do
a=a+1
loop while a <= 10
Doloop Until
do
sentencias
loop until condicin
Ejemplo
do
a=a+1
loop until a > 10
For (each)Next
ForNext
For variable = inicio to fin
sentencias
Next
Ejemplo
For i = 1 to 10
a=a+1
Next
For eachNext
For each variable in seq
sentencias
Next
Ejemplo
For each persona in cola
contador = contador + 1
Next
While
For eachNext
While condicin
sentencias
Wend
Ejemplo
Dim value
Value = 1
While value < 10
value = value + 1
Wend
Funciones y Procedimientos
Funcin
function nombre (parametros)
parametros
Funciones y Procedimientos
Procedimiento
sub nombre (parametros)
parametros
No se retorna valor
end sub
Ejemplo 3b: Realizar la suma de los 100
primeros nmeros (nmero triangular)
Clases
Formato:
class nombre
declaraciones
funciones o procedimientos
end class
Nombre
Calle
Cdigo postal
Telfono
Clases
Nombre completo
Correo electrnico
Login
Password
Windows Script
Windows Script Host
Mtodo ECHO
Wscript.Echo Hola, Mundo
Wscript.Echo Hola, , Mundo
Wscript.Echo El precio es , precio, _
pero se puede rebajar a , rebaja
Cuadros de Mensaje
Formato:
MsgBox texto,
texto botones,
botones titulo
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
Cuadros de Mensaje
Iconos
0: Sin icono
16: Parada
32: Pregunta
48: Exclamacin
64: Informacin
Foco
0: Primer botn
256: Segundo botn
512: Tercer botn
Cuadros de Mensaje
Resultado del Cuadro (res = funcin MsgBox):
1: OK
2: Cancel
3: Abort
4: Retry
5: Ignore
6: Yes
7: No
Objeto WScript
Permite acceder a argumentos
For each arg in Wscript.Arguments
,,,
Next
texto = env(PATH)
env(PATH) = c:/windows
env.remove(PATH)
Objeto WScript
Permite ejecutar otros programas
sh.Run mandato [, estilo]
estilo [, espera]
espera
Estilo Ventana
0: Oculta
1: Normal
2: Minimizada
3: Maximizada
4: Normal pero sin foco
6: Minimizada pero sin foco
Interaccin de entrada
Caja de entrada
res = InputBox (prompt, [titulo],
titulo [defecto],
defecto [x], [y])
lnk.save
set fs = WScript.CreateObject(Scripting.FileSystemObject)
Acceso a todas las unidades de discos (Ejemplo 10)
set discos = fs.Drives
for each d in discos
next
Propiedades de una unidad
if (NOT fs.DriveExists(H))
H then
Wscript.Quit
else
set drive = fs.GetDrive(H)
H
if (drive.IsReady) then
drive.DriveLetter
drive.DriveType (Desconocido, Borrable, Duro, Remoto, CD, RAM)
drive.VolumeName (ShareName)
drive.TotalSize
drive.FreeSpace
end if
end if
Acceso a carpetas
set carpeta = fs.GetFolder (path)
path
set carpetas = carpeta.SubFolders
for each c in carpetas
c.Name
Next
Crear nueva carpeta Set nc = fs.CreateFolder(path)
Renombrar
Copiar carpeta
Mover carpeta
Borrar carpeta
Existencia Carpeta
c.Rename(nombre)
nombre
fs.CopyFolder path1 path2
fs.MoveFolder path1 path2<
fs.DeleteFolder(path)
path
fs.FolderExists(path)
path
f.Name
f.Size
f.DateCreated
f.DateLastModified
Next
Control de Red
Objeto Wscript.Network
Propiedades:
ComputerName: nombre maquina
UserName: usuario logeado
UserDomain: dominio conectado
Control de Red
Aadir Impresora de Red
Nw.AddPrinterConnection [port],
[port] LPpath
Listado Impresoras
set impresoras = Nw.EnumPrinterConnections Name
for i = 0 to impresoras.Count 1 Step 2
puerto = impresoras(i)
nombre = impresoras(i+1)
next
Control de Red
Aadir unidades de red
Nw.MapNetWorkDrive unidad path
Dormir proceso
Manejo de aplicaciones con teclas
Dormir Proceso
Dormir script
Wscript.Sleep milisegundos
Uso de teclas
set sh = Wscript.CreateObject
(Wscript.Shell)
sh.sendKeys(teclas)
teclas
Teclas especiales
Retroceso
{BS}
Num Lock
{NUMLOCK}
Caps Lock
{CAPSLOCK}
F1
{F1}
DELETE
{DEL}
F2
{F2}
{DOWN UP LEFT
RIGHT}
F16
{F16}
Enter
{ENTER}
Shift
ESC
{ESC}
Ctrl
{PRTSC}
Alt
Tab
{TAB}
Windows Script
Conclusiones
Conclusiones
Referencias
Microsoft Windows Script Host 2.0
Developerss Guide Gnter Born
http://www.microsft.com/
Informacin
Mail: sgonzalez@fi.upm.es
Pginas web:
http://laurel.datsi.fi.upm.es/~sgonzalez/
http://laurel.datsi.fi.upm.es/