script en msdos
TRANSCRIPT
LENGUAJE DE SCRIPT EN EL MSDOS
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
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)
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
Lenguaje de órdenes de MS-DOS
Escribir resultados ECHO resultado ECHO. (línea en blanco) ECHO ON/OFF (control de traza) @orden (suprime traza) ECHO (consulta estado de traza)
Terminar la ejecución EXIT
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
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)
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)
Lenguaje de órdenes de MS-DOS Estructuras de control: IF-THEN
IF condición acción NOT, ==, EXIST, ERRORLEVEL
Estructuras de control: IF-THEN-ELSEIF 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
Lenguaje de órdenes de MS-DOS Estructuras de control: bucle WHILE
:inicio-bucleIF NOT condición GOTO fin-bucle... acción del bucleGOTO 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...
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 (equivale a DIR *) DIR /opciones... (/S /P /W /B /O ... etc.)
Lenguaje de órdenes de MS-DOS Condición de existencia
IF EXIST fichero ... (existe fichero) IF EXIST directorio\nul (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)
Lenguaje de órdenes de MS-DOS Copiar o mover ficheros
COPY origen destino (destino fich. o dir.) COPY origen (destino = .) MOVE origen destino (destino dir.) MOVE origen (destino = .)
Crear y eliminar directorios MKDIR directorio RMDIR directorio (debe estar vacío) se pueden abreviar: MD, RD
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)