2. Grupos de leng. de programación
Lenguajes para programación de sistemas
System programming languages
Rigurosos, seguros, eficientes
Adecuados para programas complicados
Lenguajes de scripts
Scripting languages
Flexibles, menos seguros, menos eficientes
Adecuados para programas sencillos
3. Lenguajes de órdenes: Ejemplos
MS-DOS, Windows
COMMAND.COM, CMD.EXE
UNIX, Linux
sh (Bourne, estándar)
csh, tcsh (C, algo irregular)
ksh (Korn, UNIX de ATT)
bash (Bourne actualizado, Linux)
4. Lenguaje de órdenes de MS-DOS
Sintaxis general
orden argumentos...
orden interna (DIR, COPY, ... - no devuelve error)
orden externa (programa o script - devuelve error)
Comentarios
REM texto del comentario
Etiquetas
:nombre
5. Lenguaje de órdenes de MS-DOS
Escribir resultados
ECHO resultado
ECHO.
ECHO ON/OFF
@orden
ECHO
(línea en blanco)
(control de traza)
(suprime traza)
(consulta estado de traza)
Terminar la ejecución
EXIT
6. Lenguaje de órdenes de MS-DOS
Ejecutar un programa o un fichero de texto
con órdenes (script)
nombre argumentos...
ejecuta nombre.bat / nombre.exe / nombre.com
lo busca en el directorio actual y en el PATH
si es un script (.bat), no retorna
CALL nombre argumentos...
si es un script, sí retorna
COMMAND /C orden...
Ejecuta un shell secundario y retorna
7. Lenguaje de órdenes de MS-DOS
Argumentos o parámetros
nombre arg1 arg2 ...
(max. 120 caracteres)
%1, %2, ... %9
SHIFT
(%1←%2 ←%3 ←%4...)
%0
(nombre)
ERRORLEVEL
(nivel de retorno)
Redirección de la E/S estándar
nombre < entrada | otro-nombre > salida
... >> salida
(añade nuevo texto)
8. Lenguaje de órdenes de MS-DOS
Entorno o contexto de ejecución
SET variable=valor
(¡ojo!, sin dejar espacio)
SET variable=
(suprime la variable)
%variable%
(recupera el valor)
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)
9. Lenguaje de órdenes de MS-DOS
Estructuras de control: IF-THEN
IF condición acción
NOT, ==, EXIST, ERRORLEVEL
Estructuras de control: IF-THEN-ELSE
IF condición GOTO si-condición
... acción de no-condición (else)
GOTO fin-condición
:si-condición
... acción de sí-condición (then)
:fin-condición
10. Lenguaje de órdenes de MS-DOS
Estructuras de control: bucle WHILE
:inicio-bucle
IF NOT condición GOTO fin-bucle
... acción del bucle
GOTO inicio-bucle
:fin-bucle
Estructuras de control: bucle FOR
FOR %%x IN (lista) DO acción-con-%%x
FOR %%x IN (lista) DO CALL acción...
11. Lenguaje de órdenes de MS-DOS
Designar ficheros y grupos de ficheros
unidad:directorio...nombre.ext
por omisión, unidad o directorio actual
.
(directorio actual)
..
(directorio padre)
?*
(comodines)
Consultar ficheros o directorios
DIR patrón
DIR
DIR /opciones...
(equivale a DIR *)
(/S /P /W /B /O ... etc.)
12. Lenguaje de órdenes de MS-DOS
Condición de existencia
IF EXIST fichero ...
(existe fichero)
IF EXIST directorionul (existe directorio)
Consultar el contenido de un fichero (texto)
TYPE fichero
(no admite patrones)
Cambiar el nombre/extensión
REN fichero nuevo-nombre (admite patrones)
nuevo patrón: nombre.*, *.ext
Eliminar ficheros
DEL patrón
(¡ojo!: * elimina todo)
13. Lenguaje de órdenes de MS-DOS
Copiar o mover ficheros
COPY origen destino
COPY origen
MOVE origen destino
MOVE origen
(destino fich. o dir.)
(destino = .)
(destino dir.)
(destino = .)
Crear y eliminar directorios
MKDIR directorio
RMDIR directorio
(debe estar vacío)
se pueden abreviar: MD, RD
14. Lenguaje de órdenes de MS-DOS
Tratar grupos de ficheros
FOR %%x IN (patrón) DO acción-%%x
Sólo patrón de ficheros, no directorios
Ejemplo:
FOR %%f IN (*.txt) DO type %%f
Obtener ayuda sobre una orden
orden /?
Consultar la ayuda de Windows (comandos)