Ejercicio con ficheros bat

Solo disponible en BuenasTareas
  • Páginas : 6 (1329 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de noviembre de 2010
Leer documento completo
Vista previa del texto
JA Gimeno - Sistemas Operativos pág. 1
FICHEROS .BAT
Son programas con instrucciones de MS-DOS, el ejemplo más evidente es el AUTOEXEC.BAT
Ordenes
@ Evita el eco de la orden en la pantalla
CALL Invoca a un fichero .BAT y cuando termina, vuelve al que lo invoco
CHOICE Permite elegir entre diferentes opciones
ECHO Manda mensajes a la pantalla. ECHO Hola que tal
FOR Repite procesos
GOTOSalto incondicional a una etiqueta. GOTO :etiqueta
IF Salto o desvío condicional
PAUSE Detiene temporalmente el proceso
REM Coloca comentarios internos al programa
SHIFT Desplaza el valor de los parámetros
Otras características
:etiqueta Etiqueta para salto
%número Parámetro substituible
%0 Es el propio programa .BAT
%1 Primer parámetro substituible
%2 Segundo parámetro substituible
. .
..
. .
. .
%9 Noveno parámetro substituible
%%letra Variable para la orden FOR
%PATH% Variable de entorno PATH
JA Gimeno - Sistemas Operativos pág. 2
- Ejercicio 1
Estamos en MS-DOS y en la raíz del diskette A:
Con el programa (editor) EDIT, efectuar un fichero de nombre TIEMPO.BAT, que limpie la pantalla,
visualice el contenido del diskette, haga una pausa, nos indique la fecha ydespués la hora.
TIEMPO.BAT
@ECHO OFF
CLS
DIR
ECHO.
PAUSE
DATE
ECHO.
TIME
ECHO.
ECHO Fin del programa %0
PAUSE
Para ejecutar el programa, desde el A:\>TIEMPO e Intro
- Ejercicio 2
Crea en el diskette el directorio SEGUR, y desde elraiz de A: con EDIT crea el programa COPIA.BAT
COPIA.BAT
@ECHO OFF
CLS
COPY *.BAT A:\SEGUR
ECHO.
ECHO Copia Finalizada
PAUSE
ECHO.
REM Linea en blancoECHO.
DIR A:\SEGUR
ECHO.
PAUSE
ECHO Fin del programa %0
PAUSE
Ejecuta el programa COPIA, y después verifica que funciona correctamente.
- Ejercicio 3
Copia el programa COPIA.BAT con el nombre COPIA1.BAT (A:\>COPY COPIA.BAT COPIA1.BAT)
La línea de COPY, modifícala por esta COPY %1 %2 y la línea de DIR pon DIR %2*.BAT
Al ejecutar el programa COPIA1.BAT, haz lo siguiente:
A:\> COPIA1 *.*C:\
Razona que hemos hecho. à %1 vale *.* y %2 vale C:\
Haz A:\>DIR C:\*.BAT y veras los ficheros BAT del raíz del C:\
JA Gimeno - Sistemas Operativos pág. 3
- Ejercicio 4
Efectúa el programa
LEER.BAT
@ECHO OFF
CLS
TYPE %1
ECHO.
PAUSE
TYPE %2
ECHO.
PAUSE
ECHO Fin del programa %0
- Ejecuta LEER de la forma A:\>LEER TIEMPO.BAT COPIA.BAT
- Razona su funcionamiento, que significa %1 y%2
- Ejercicio 5
Efectúa el programa
SALTO.BAT
@ECHO OFF
CLS
ECHO Aqui empieza el programa %0
PAUSE
GOTO :FIN
ECHO Inicio primer proceso
DIR
TIME
DATE
ECHO Fin del primer proceso, que obviamente nunca se realiza
:FIN
ECHO.
ECHO Aqui termina el programa %0
PAUSE
- Ejecuta SALTO y razona porque no hace el primer proceso.
- Ejercicio 6
Salto condicional IF IF [NOT] EXIST FicheroORDEN
IF [NOT] cadena1==cadena2 ORDEN
IF [NOT] ERRORLEVEL número ORDEN
Efectúa el programa
TESTEO.BAT
@ECHO OFF
CLS
IF NOT EXIST V:\NUL ECHO No existe la unidad V:
- Ejecuta TESTEO
JA Gimeno - Sistemas Operativos pág. 4
Efectúa el programa
TESTEO1.BAT
@ECHO OFF
CLS
IF X%1==X GOTO :ERROR_UNIDAD
IF NOT EXIST %1:\NUL GOTO :NO_EXISTE
ECHO.
ECHO Si existe la unidad %1:
ECHO.
PAUSEGOTO :FIN
:NO_EXISTE
ECHO.
ECHO No existe la unidad %1:
ECHO.
PAUSE
GOTO :FIN
:ERROR_UNIDAD
ECHO No has indicado unidad %1
:FIN
- Ejecuta A:\> TESTEO1
- Ejecuta A:\> TESTEO1 Z
- Ejecuta A:\> TESTEO1 C
- Ejecuta A:\> TESTEO1 M
- Razona el ejercicio
- Ejercicio 7
Repetir procesos
FOR %%letra IN (conjunto) DO ORDEN
Efectúa el programa REPETIR.BAT
@ECHO OFF
CLS
FOR %%A IN (*.BAT) DOTYPE %%A
ECHO.
ECHO Fin de REPETIR.BAT
- Ejecuta REPETIR
- Comentario.- Si al final de la orden FOR colocáramos >PRN, mandaríamos todos los TYPE a la
impresora.
JA Gimeno - Sistemas Operativos pág. 5
- Ejercicio 8
Desde un fichero BAT, ejecutar a otro BAT
LLAMAR.BAT
@ECHO OFF
CLS
DIR
ECHO.
ATTRIB *.*
ECHO.
ECHO Invocamos a REPETIR.BAT, con la orden CALL
PAUSE
CALL REPETIR.BAT...
tracking img