La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

© 2004-2006 Manuel ColladoScript-1 Entornos de programación Lenguajes de guiones (Scripting Languages)

Presentaciones similares


Presentación del tema: "© 2004-2006 Manuel ColladoScript-1 Entornos de programación Lenguajes de guiones (Scripting Languages)"— Transcripción de la presentación:

1 © 2004-2006 Manuel ColladoScript-1 Entornos de programación Lenguajes de guiones (Scripting Languages)

2 © 2004-2006 Manuel ColladoScript-2 Grupos de lenguajes de programac. n Lenguajes para programación de sistemas l System programming languages l Rigurosos, seguros, eficientes l Adecuados para programas complicados n Lenguajes de guiones (scripts) l Scripting languages l Flexibles, menos seguros, menos eficientes l Adecuados para programas sencillos

3 © 2004-2006 Manuel ColladoScript-3 Ejemplos de leng. de programación n Lenguajes para programación de sistemas l COBOL, FORTRAN, C/C++/C# l Pascal, Modula-2, Oberon, Ada l Java l Lisp, Haskell, Smalltalk, Eiffel,... n Lenguajes de guiones (scripts) l Lenguajes de órdenes (command/shell languages) l Rexx, Tcl, Perl, Pyton, Ruby l VBScript, JavaScript

4 © 2004-2006 Manuel ColladoScript-4 Leng. de órdenes: características n Asociados a algún Sistema Operativo n Modos interactivo y no interactivo l Órdenes de usuario / automatización de operaciones n Funciones l Ejecutar programas l Usar/configurar dispositivos y servicios del S.O. l Manipular ficheros y grupos de ficheros l Elementos básicos de programación n Alternativas, bucles, variables, subprogramas, detección de errores, etc.

5 © 2004-2006 Manuel ColladoScript-5 Lenguajes de órdenes: Ejemplos n MS-DOS, Windows l CMD.EXE - 32 bits (WinNT/2000/XP ) l COMMAND.COM - 16 bit (MS-DOS, Win9x) n UNIX, Linux l sh (Bourne, estándar) l csh, tcsh (C, algo irregular) l ksh (Korn, UNIX de ATT) l bash (Bourne actualizado, Linux)

6 © 2004-2006 Manuel ColladoScript-6 Lenguaje de órdenes de WinNT n Sintaxis general l orden argumentos...  orden interna ( DIR, COPY,... - no devuelve error) n orden externa (programa o script - devuelve error) n Comentarios  REM texto del comentario  :: texto del comentario n Etiquetas  : nombre  GOTO nombre

7 © 2004-2006 Manuel ColladoScript-7 Lenguaje de órdenes de WinNT n Argumentos actuales l valor(sin blancos)  / x(opción)  " valor... \"... " (con blancos, " literal) n Órdenes compuestas  orden... & orden...(secuencia)  orden... && orden...(condicional, si éxito)  orden... || orden...(condicional, si fallo)  ( órdenes... ) (orden compuesta)  ^ & ^ | ( & o | literal )

8 © 2004-2006 Manuel ColladoScript-8 Lenguaje de órdenes de WinNT n Escribir resultados  ECHO resultado  ECHO. (línea en blanco) n Traza de ejecución  ECHO ON/OFF (control de traza)  @ orden(suprime traza)  ECHO (consulta estado de traza) n Terminar la ejecución  EXIT [ /B [nivelerror]]

9 © 2004-2006 Manuel ColladoScript-9 Lenguaje de órdenes de WinNT n Ejecutar un programa o un fichero de texto con órdenes (script) l nombre argumentos... n ejecuta nombre.bat/cmd/exe/com n lo busca en el directorio actual y en el PATH n si es un script (.bat,.cmd), no retorna  CALL nombre argumentos... n si es un script, sí retorna  CMD /C orden... n Ejecuta un shell secundario y retorna  ERRORLEVEL (nivel de retorno)

10 © 2004-2006 Manuel ColladoScript-10 Lenguaje de órdenes de WinNT n Argumentos o parámetros l nombre arg1 arg2...  %1, %2,... %9  SHIFT (%1  %2  %3  %4...)  %0 (nombre) l %*(todos los argumentos) n Redirección de la E/S estándar  nombre salida ... >> salida(añade nuevo texto) ... 2> salida(redirige salida de error) ... 2>&1 (combina error y salida normal)

11 © 2004-2006 Manuel ColladoScript-11 Lenguaje de órdenes de WinNT n Entorno o contexto de ejecución  SET variable = valor (¡ojo!, sin dejar espacio)  SET variable = (suprime la variable)  % variable % (recupera el valor)  SET prefijo (presenta una o varias variable)  SET (presenta todas las variables)  PATH lista-de-directorios (SET PATH=...)  PATH (ECHO %PATH%)  CD directorio (cambia directorio actual)  x : (cambia unidad actual)  CD (consulta directorio actual)

12 © 2004-2006 Manuel ColladoScript-12 Lenguaje de órdenes de WinNT n Cambio de directorio, temporal  PUSHD directorio(cambia directorio actual)  POPD (restaura anterior directorio actual)  PUSHD/POPD puede anidarse n Entorno de ámbito limitado  SETLOCAL (inicia ámbito local)  SET/CD/PATH (cambios locales) l fin del guión(termina el ámbito local)  ENDLOCAL (termina el ámbito local)  SETLOCAL/ENDLOCAL puede anidarse

13 © 2004-2006 Manuel ColladoScript-13 Lenguaje de órdenes de WinNT n Estructuras de control: IF-THEN-ELSE  IF condición acción  IF condición ( acción ) ELSE acción n Condiciones  valor1 == valor2(compara texto) l valor1 compara valor2(compara número o texto)  EQU, NEQ, LSS, LEQ, GTR, GEQ  /I comparación(no distingue mayus./minus.)  EXIST nombre(existe fichero o directorio)  EXIST directorio \nul (existe directorio)  ERRORLEVEL valor(error >= valor)  NOT condición(negación)

14 © 2004-2006 Manuel ColladoScript-14 Lenguaje de órdenes de WinNT n Estructuras de control: IF-GOTO IF NOT condición GOTO no-condición... acción de sí-condición (then) GOTO fin-condición : no-condición... acción de no-condición (else) : fin-condición

15 © 2004-2006 Manuel ColladoScript-15 Lenguaje de órdenes de WinNT n Estructuras de control: bucle WHILE : inicio-bucle IF NOT condición GOTO fin-bucle... acción del bucle GOTO inicio-bucle : fin-bucle

16 © 2004-2006 Manuel ColladoScript-16 Lenguaje de órdenes de WinNT n Estructuras de control: bucles FOR  FOR % x IN ( lista ) DO acción-con-%x n repite por cada valor de lista o archivos (lista=comodines)  FOR % x IN ( lista ) DO CALL acción... n evita salir del bucle si acción no retorna  FOR /D % x IN ( lista ) DO... FOR /R [raíz] % x IN ( lista ) DO... n repite para cada directorio (/D) o árbol de subdirector. (/R)  FOR /L % x IN (inicio, paso, fin) DO... n bucle con contador

17 © 2004-2006 Manuel ColladoScript-17 Lenguaje de órdenes de WinNT n Designar ficheros y grupos de ficheros  unidad :\ directorio \... \ nombre. ext l por omisión, unidad o directorio actual . (directorio actual) .. (directorio padre)  ?* (comodines) n Lista de ficheros o directorios  DIR patrón  DIR (equivale a DIR *)  DIR / opciones...(/S /P /W /B /O... etc.)

18 © 2004-2006 Manuel ColladoScript-18 Lenguaje de órdenes de WinNT n Listar el contenido de un fichero (texto)  TYPE fichero(s) (admite patrones) n Cambiar el nombre/extensión  REN fichero nuevo-nombre (admite patrones) l nuevo patrón: nombre.*, *.ext n Eliminar ficheros  DEL patrón (¡ojo!: * elimina todo)

19 © 2004-2006 Manuel ColladoScript-19 Lenguaje de órdenes de WinNT n Copiar o mover ficheros  COPY origen destino(destino fich. o dir.)  COPY origen(destino =. )  MOVE origen destino(destino dir.)  MOVE origen(destino =. ) n Crear y eliminar directorios  MKDIR directorio  RMDIR directorio(debe estar vacío)  se pueden abreviar: MD, RD

20 © 2004-2006 Manuel ColladoScript-20 Lenguaje de órdenes de WinNT n Expansión de parámetros (referencia a ficheros)  %~ ccp(cc: letras de código, p: parámetro)  códigos: f : completo, d : unidad, p : directorio, n : nombre, x : extensión a : atributos, t : fecha/hora, z : tamaño  Ejemplo: cd  “c:\uno”%3=“dos\tres.txt” %~f3  c:\uno\dos\tres.txt %~d3  c: %~p3  \uno\dos\ %~n3  tres %~x3 .txt

21 © 2004-2006 Manuel ColladoScript-21 Lenguaje de órdenes de WinNT n Expansión de variables (sustitución de texto)  % var : antes = después %  Ejemplo: SET var=texto ECHO %var% -- %var:x=X%  texto -- teXto

22 © 2004-2006 Manuel ColladoScript-22 Lenguaje de órdenes de WinNT n Cálculos aritméticos  SET /A variable = expresión  Ejemplo: SET /A x = 11 + 22 x  33 SET /A x = x + 5 x  38 n Obtener ayuda sobre una orden  orden /?  help [orden]

23 © 2004-2006 Manuel ColladoScript-23 Lenguaje de órdenes de WinNT n Ayuda para la interacción  CLS (borra la pantalla)  COLOR bf(cambia los colores) bf(hexadecimal: fondo/texto)  PAUSE (espera pulsación de tecla)  MORE [fichero](inserta pausas en texto largo)  CHOICE [/C:opciones] [mensaje](lee opción y fija ERRORLEVEL. Requiere instalar kit de recursos)


Descargar ppt "© 2004-2006 Manuel ColladoScript-1 Entornos de programación Lenguajes de guiones (Scripting Languages)"

Presentaciones similares


Anuncios Google