Vous êtes sur la page 1sur 63

c 

÷  

 

 

 


 

!   c 

‡ 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
‡ «
h  
‡ Conceptos
‡ Introducción a VBScript
‡ Windows Script Host
‡ Conclusiones
‡ Ejercicio Práctico común con Directivas de
grupo
c 

h 
h
 
‡ Computador Von Neuman
Almacenamiento
(Mem. Secund)

Memoria Principal

UC ALU

entrada Unidad de Control de Procesos (CPU) salida


Î    
‡ 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
h    Î 
‡ Lenguajes Compilados
± Pascal, Ada, COBOL, Fortran, C/C++, C#, «
‡ Lenguajes Interpretados
± PHP, ASP, VBScript, Python,«
‡ Lenguajes Compilados e Interpretados
± Haskell, Prolog, «
h
 
‡ CPU solo entiende binario, también llamado
V  
    
‡ Proceso ejecutándose en binario
‡ Programa en binario
‡ ¿Se programa en binario? ±

compilador
  
‡ Programa
± mV


  VV
 
 V 

 V


V 
± Texto en un fichero
‡ Proceso
± Programa en ejecución
± Se almacena en Memoria  prim. o sec.

proceso
programa
     
‡ 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
(    

( ADA ALGOMO SALDA

÷  Conjunto de operaciones que, secuencialmente, conducen


a la respuesta de una pregunta, en un numero finito de pasos.
å     
‡ 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.
÷     
‡ Comprensión del problema
‡ Especificación de los datos de entrada
‡ Estudio de los resultados que se desean
obtener
‡ Estudio del tipo de problema
(    
‡ 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
     
‡ Prueba con casos sencillos
‡ Prueba con casos complejos
‡ Prueba con casos extremos
‡ Estudio del rendimiento
± Tiempo
± Uso de memoria
‡ Refinamiento del algoritmo
  

‡ 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.
 
‡ ‰
 

 V 
 V  V
VV 
VV 

  
V V 
 

   
 V  V 
   
 
 V  
  
 V  
V
V
    VV 

V      


 V
VV  
c 

  

 


‡ ¿Qué es? ¿Qué formato tiene?
± Fichero de texto
‡ ¿Qué extensión tiene?
± fichero.vbs
‡ ¿Cómo editarlo?
± Con cualquier editor de texto
± åV ! " 
‡ ¿Cómo ejecutarlo?
± Con el comando WScript #m "V V$
± %VV&al fichero
(  

‡ Estructura general de un programa
± Sentencias, líneas continuas, comentarios
‡ Constantes y variables
‡ Operadores
‡ Estructuras de control
‡ Bucles
‡ Funciones y Procedimientos
‡ Clases
(     
V *****************************************
V Programa de prueba
V Creado: / /2
V *****************************************
V declaro variable
Dim mensaje

V inicializo la variable
mensaje = ³hola, que tal? Estoy aprendiendo a programar en VBScript´

V imprimo el mensaje
Wscript.Echo mensaje

V **** Fin del programa


h    
‡ Constantes
Const pi = 3.  , beta = .3
‡ Variables
pr = 2
precio = precio + 
nombre = ³Santi´
‡ Declaración explicita  con valor
Dim precio, iva, precio_total
h    
‡ Array
Dim secuencia  
secuencia  =
Dim matriz 2, 2
‡ Objetos
Set obj = Wscript.Arguments
h    
( 
 Calcular el precio real de dos
ordenadores, que cuestan:
± 23 euros
± 32 euros
Ambos sin iva. El programa debe devolver un
mensaje personalizado.

?  
        
?  
       
A
  
‡ Aritméticos
± †

!
"
#

# $  %
&
'
‡ Lógicos
± ÷

(

±
‡ Comparación
± )
*
+
)+
*+
)*

‡ Precedencia de operador
(  h 
‡ Condición IF ‡ Condición Case
V
V
V
V
 


 V V   
  


V  V  
 
V
V
V
V
' 


V 


V ' V  '
 '
 

V '


V ( V 

 

V (

V
(  h 
‡ ( 
 Ejecutar un programa que
escriba una frase distinta cuando se cumpla
una determinada condición, según el
siguiente valor:
± Valor
± Valor 2
± Otro valor
  
‡ Do while/until
‡ Do...loop while/until
‡ For«Next
‡ For Each«Next
‡ While

‡ Exit Do
‡ Exit For
'  
‡ Do While ‡ Do Until
)V
V
V
V

V
V
V
V



V  

V 
 

‡ Ejemplo ‡ Ejemplo
) *+,-
*+,- 
 /,-
/,-
+ ., + .,
 
'! 
  
‡ Do«loop While ‡ Do«loop Until
 


V  

V 
)V
V
V
V

V
V
V
V

‡ Ejemplo ‡ Ejemplo
 
+ ., + .,
) *+,-
*+,- 
 /,-
/,-
X "#!$%
‡ For«Next ‡ For each«Next
   +
V
X   
V 


   

X V   


V  

V 
0 0

‡ Ejemplo ‡ Ejemplo
, ,-
X+, ,- 

V
X V
V
+ ., V
+V
.,
0 0
c 
‡ For each«Next
V
V
V
V



V 



‡ Ejemplo
%  
!  +,
  *,-
  *,-
  +  .,


X      
‡ Función

V 



 #   
   $
1
2


     


V 

‡ ( 
 Realizar la suma de los 
primeros números  número triangular
X      
‡ Procedimiento
 


 #   
   $
1
20 
 

 
‡ ( 
, Realizar la suma de los 
primeros números  número triangular
h 
‡ Formato:
V 



V  V


V
V


V 

‡ ( 
- Almacenar los siguientes datos de un
comprador:
± Nombre
± Calle
± Código postal
± Teléfono
h 
‡ 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?
 .
   3   .
 
 3 
 3 
VV
 VV


 . 
 .

‡ ( 
/ Se desea tener los siguientes datos de cada unos de los
usuarios:
± Nombre completo
± Correo electrónico
± Login
± Password
c 

 

0
c 
&
‡ 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
å (h&A

V Vm 4å



V Vm 44må

V VmV4V43
m   4
h  å
‡ Formato:
å5  
 
4 

 
4  
 
‡ Ejemplo:
å5 m 
  4-4m  
‡ Posibilidades:
± Botones
‡ : Boton OK
‡ : Ok y Cancel
‡ 2: Abort, Retry y Ignore
‡ 3: Yes, No y Cancel
‡ : Yes y No
‡ : Retry y Cancel
h  å
± Iconos
‡ : Sin icono
‡ : Parada
‡ 32: Pregunta
‡ : Exclamación
‡ : Información
± Foco
‡ : Primer botón
‡ 2: Segundo botón
‡  2: Tercer botón
h  å
± Resultado del Cuadro  res = función MsgBox:
‡ : OK
‡ 2: Cancel
‡ 3: Abort
‡ : Retry
‡ : Ignore
‡ : Yes
‡ 7: No
‡ ( 
1 Hacer un cuadro de mensaje que
pregunte si deseamos un viaje al Caribe. El
programa debe contestar a cada posibilidad.
A c

‡ Permite acceder a argumentos
X V 
 V  

444
0
‡ Permite control de variables de Entorno
" +6 7 V #m V "$
" 
+

#mV$
1
 +
#m8$

#m8$+mV9:)
)

#m8$
A c

‡ Permite ejecutar otros programas
;

 

  <4 
 =<4
 =
± Estilo Ventana
‡ : Oculta
‡ : Normal
‡ 2: Minimizada
‡ 3: Maximizada
‡ : Normal pero sin foco
‡ : Minimizada pero sin foco
± Espera: True o False
± ( 
2 Ejecutar el programa 0  maximizado.
    
‡ Caja de entrada
+>
 5 # 4<  
 =4<V 
V =4< =4<=$
‡ Si resultado es ³´, cancelación de inserción
‡ ( 
3 Ejecutar un acceso a un
programa en el que el usuario tenga que
indicar su 
. Por cada usuario, debe
contestar algo distinto. Hay tres usuarios
registrados:
± ³Luis´, ³Juan´ y ³Maria´
h    
 + "V 6 7 V #? "V "?$
 
&+6 " V #


$
1

& 
‡ Path del Escritorio:
 +"V X#?%& ?$
‡ ( 
4 Creación de un acceso directo
del Script en el escritorio.
‰  X  ( 
 + "V 6 7 V #m"V 
X" 7 V $
‡ Acceso a todas las unidades de discos  Ejemplo 
 V+%
 V
V
1


‡ Propiedades de una unidad
#078%  #mm$$ 

V @ 

 +A %#mm$
#>; $ 

%B 
%82#%V
V45 4% 4; 46%4;å$
2#%V
V45 4% 4; 46%4;å$
! 0 #" 0 $
8 "C
X" V




‰  X  ( 
‡ Acceso a carpetas
 V  +A X# 
 $
 V  +V  " X
 VV
V  
1
V0 
0
‡ Crear nueva carpeta " 
V+6 X# $
‡ Renombrar V;
#


$
‡ Copiar carpeta 6X , '
 , '
‡ Mover carpeta åX , '*
 , '*
‡ Borrar carpeta % X# 
 $
‡ Existencia Carpeta X  # 
 $
‰  X  ( 
‡ Acceso a ficheros
 V+V  X
 V
V
1
0 
"C
% 6 
% B  å
0
‡ ( 
 Mostrar el contenido de la carpeta System
‡ Existencia de fichero X  #V
V$
‡ Copiar ficheros 6X , '
 , '
‡ Borrar ficheros % X#V
V$
‡ ( 
 Sistema Backup
‰  X  ( 
‡ Acceso a un fichero de texto
7
8 X#
<4<4V <4 ===$

<4<4V <4 ===$
± Modo:    X; 
4#'$X  
4#($X


± Crear: 8  si se va a crear nuevo. X  en caso contrario
± Formato: 8 8  si es Unicode, 8 X  si es ASCII
‡ Lectura de fichero de texto
 
  +7
8 X#mV
mV $

% 0 #
   
7"  $
8 +8 D
  ; B
D6B
B
‡ Escritura  con/sin reemplazo en fichero
   +7
8 X#mV
mV 4'48 $
4'48 
% 0 #
   
7"  $
 +
  ; B

    B
  
B
‡ ( 
 Copiar el contenido de un fichero en otro
h  '
‡ Objeto ³Wscript.Network´
‡ Propiedades:
± ComputerName: nombre maquina
± UserName: usuario logeado
± UserDomain: dominio conectado

‡ ( 
- Mostrar la informacion del
sistema por pantalla.
h  '
‡ Añadir Impresora de Red
0)
6

V 
< =
< =4B 
B 
‡ Eliminar Impresora de Red
0);
6

V 
0 
0 
‡ Listado Impresoras
  +0)

6

V 
0 
0 
+-  6
E ," '
  + #$

+ #.,$


‡ Indicar Impresora Predeterminada
0)" %  
0 
h  '
‡ Añadir unidades de red
0)å 0 &%
  

  
‡ Listado de unidades de red
 
 +0)
0 &%
+- 
 6
F, '

 +
 #$
 +
 #.,$



‡ ( 
/ Crear una unidad de red con una
carpeta compartida de tu propia maquina
h  c  

 
‡ Dormir proceso
‡ Manejo de aplicaciones con teclas
'   
‡ Dormir script
Wscript.Sleep milisegundos

‡ Espera de datos, uso de CPU


‡ Para selección de procesos
set sh = Wscript.CreateObject ³Wscript.Shell´
sh.Run ³Calc.exe´,
Wscript.Sleep 
sh.Run ³NotePad.exe´,
Wcript.Sleep 
å
 
 
‡ Uso de teclas
set sh = Wscript.CreateObject
 ³Wscript.Shell´
sh.sendKeys#m V 
V $
‡ Teclas especiales
;   7  ±
56 7±&5 h
h
56 7h÷< 5 h  7
(5(( 7(5  7

=
>
? 7 ±
<
5(
 
;0 1 71
(  7(±(;
89 †
( h 7( h
h '
< 7<; h
÷ :
, 7÷
å
 
 
‡ ( 
1 Crear un script que ejecute la
calculadora, calcule el producto entre  y
2 y luego se cierre automaticamente
 Alt+F
å
 
 
‡ Paso de un proceso a otro
V    
 
± Titulo: Titulo actual de la aplicación





ƠDocumento - WordPadơ
å
 
 
‡ ( 
2 Crear un Script que ejecute el
notepad y el wordpad, escriba una frase en
notepad, la copie y pegue en wordpad
c 

h 
h  
‡ 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
'  
‡ Microsoft Windows Script Host 2.
Developers¶s Guide ± Günter Born
‡ 8""@9@"
  
‡ Mail: sgonzalez@fi.upm.es
‡ Páginas web:
± http://laurel.datsi.fi.upm.es/~sgonzalez/
± http://laurel.datsi.fi.upm.es/

Vous aimerez peut-être aussi