Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
de un fichero de texto pasado como parmetro ordenado, con las siguientes especifi
caciones:
a. En caso de que no exista dicho fichero, debe mostrar un mensaje de error.
b. Si se ejecuta la macro sin ningn parmetro, mostrar en pantalla un mensaje de
ayuda en el que se detallar cmo funciona ORDENA.BAT
@echo off
Adrin Serrano Benavente 2 ASIR
set parametro=%1
IF "%parametro%"=="" GOTO PARAMETROFALTA
IF NOT EXIST %parametro% GOTO NOEXISTE
IF EXIST %parametro% GOTO EXISTE
:NOEXISTE
ECHO "El archivo no existe"
pause
GOTO FINAL
:PARAMETROFALTA
echo "Debe introducir un nombre de archivo a la vez que inicia el archivo por lo
tes"
pause
GOTO FINAL
:EXISTE
FOR /F %%A IN (%parametro%) DO @ECHO Linea: %%A
pause
GOTO FINAL
:FINAL
exit /b
Ejercicio 6. Crea un fichero por lotes DIRESP.BAT que liste de forma paginada to
dos los
archivos .BAT, .EXE, .COM realizando una pausa entre listado y listado? del direc
torio
actual. Si se introduce un parmetro, har exactamente lo mismo pero slo listar los ar
chivos
con nombre igual al parmetro introducido.
@echo off
set parametro=%1
IF "%parametro%"=="" GOTO MOSTRARTODO
dir /s "%parametro%".BAT
pause
dir /s "%parametro%".EXE
pause
dir /s "%parametro%".COM
pause
exit
:MOSTRARTODO
dir /s *.BAT
pause
dir /s *.EXE
pause
dir /s *.COM
pause
exit
Ejercicio 7. Realiza un fichero por lotes llamado DONDE.BAT, que busque todos lo
s
archivos que contengan la extensin .exe en el directorio C:\Windows y el resultad
o de esa
bsqueda se almacene en un archivo llamado SOLUCION.TXT. Sugerencia: utilizar la o
rden
for
@echo off
FOR %%f IN (C:\Windows\*.*) DO FIND "*.exe" %%f >> solucion.txt
ASIR
ASIR
Ejercicio 11.- Crea un fichero por lotes que mediante un men y utilizando funcion
es permita
realizar las siguientes acciones
a) Mostrar el fichero CRONICA.TXT con pausa en cada pantalla.
b) Mostrar el fichero AVISO.TXT con pausa en cada pantalla.
c) Ordenar el fichero NUMEROS.TXT alfabticamente.
d) Ordenar el fichero LISTIN.TXT alfabticamente a partir de la columna 30.
e) Ordenar el fichero AMIGOS.TXT inversamente.
f) Buscar la cadena "IGNACIO" en el fichero PERSONAL.TXT
Nota: Debes crear los ficheros previamente de manera manual
@echo off
:INICIO
cls
echo "Menu seleccion"
echo "1) Fichero Cronica.txt"
echo "2) Fichero Aviso.txt"
echo "3) Fichero Numeros.txt"
echo "4) Fichero Listin.txt"
echo "5) Fichero Amigos.txt
echo "6) Fichero Personal.txt"
echo "7) SALIR"
echo "Marque el numero de opcion"
set /p opcion=
if %opcion%==1 GOTO CRONICA
if %opcion%==2 GOTO AVISO
if %opcion%==3 GOTO NUMEROS
if %opcion%==4 GOTO LISTIN
if %opcion%==5 GOTO AMIGOS
if %opcion%==6 GOTO PERSONAL
if %opcion%==7 GOTO SALIR
GOTO ERROR
:CRONICA
TYPE ficheros\Cronica.txt | more
pause
GOTO INICIO
:AVISO
TYPE ficheros\aviso.txt | more
pause
GOTO INICIO
:NUMEROS
TYPE ficheros\numeros.txt | sort
pause
GOTO INICIO
:LISTIN
TYPE ficheros\listin.txt | sort /+30
pause
GOTO INICIO
:AMIGOS
TYPE ficheros\amigos.txt | sort /R
pause
GOTO INICIO
:PERSONAL
find "ignacio" ficheros\personal.txt
Adrin Serrano Benavente 2 ASIR
pause
GOTO INICIO
:ERROR
echo "Opcion no reconocida"
GOTO INICIO
:SALIR
exit /b
ASIR
Ejercicio 12.- Crea un fichero por lotes que mediante un men y utilizando funcion
es permita
realizar las siguientes acciones
a) Mostrar el fichero INFORME.TXT con pausa en cada pantalla.
b) Imprimir el fichero INFORME.TXT en la impresora. (simular la impresora o
bien con una impresora virtual o ms fcil, con un fichero)
c) Enviar el texto introducido por el teclado en la impresora.
d) Aadir la etiqueta y el nmero de serie de la unidad actual (orden Vol) al
fichero VARIOS.TXT
e) Aadir el directorio actual al fichero VARIOS.TXT
@echo off
:INICIO
cls
echo "Menu seleccion"
echo "1) Mostrar Fichero"
echo "2) Imprimir Fichero"
echo "3) Imprimir Texto"
echo "4) Incluir Datos del Volumen"
echo "5) Incluir Ruta Actual al Fichero"
echo "6) SALIR"
echo "Marque el numero de opcion"
set /p opcion=
if %opcion%==1 GOTO MOSTRAR
if %opcion%==2 GOTO IMPRIMIR
if %opcion%==3 GOTO TEXTO
if %opcion%==4 GOTO VOLUMEN
if %opcion%==5 GOTO DIRECTORIO
if %opcion%==6 GOTO SALIR
GOTO ERROR
:MOSTRAR
Type informe.txt | more
pause
GOTO INICIO
:IMPRIMIR
print informe.txt
pause
GOTO INICIO
:TEXTO
echo "Inserte texto:"
set /p testi=
echo %testi% > impresion.txt
print impresion.txt
del impresion.txt
pause
GOTO INICIO
:VOLUMEN
Vol >> varios.txt
pause
GOTO INICIO
:DIRECTORIO
cd >> varios.txt
pause
GOTO INICIO
Adrin Serrano Benavente 2
ASIR
:ERROR
echo "Opcion Incorrecta"
GOTO INICIO
:SALIR
exit /b
:CRISTINA
find "Cristina" amigos1.txt > amigos3.txt
type amigos3.txt | more
pause
GOTO INICIO
:CIUDAD
type amigos1.txt | sort /+19 > amigos4.txt
type amigos4.txt | more
pause
GOTO INICIO
:APELLIDO
type amigos1.txt | sort /+9 > amigos5.txt
type amigos5.txt | more
Adrin Serrano Benavente 2 ASIR
pause
GOTO INICIO
:ERROR
echo "Opcion Incorrecta"
GOTO INICIO
:SALIR
exit /b
Ejercicio 14.- Escriba un fichero de procesamiento por lotes para borrar el fich
ero
introducido como parmetro. El programa debe comprobar previamente si se ha introd
ucido
algn parmetro y si el fichero existe.
@echo off
set parametro=%1
IF "%parametro%"=="" GOTO PARAMETROFALTA
IF NOT EXIST %parametro% GOTO NOEXISTE
IF EXIST %parametro% GOTO EXISTE
:NOEXISTE
ECHO "El archivo no existe"
pause
GOTO FINAL
:PARAMETROFALTA
echo "Debe introducir un nombre de archivo a la vez que inicia el archivo por lo
tes"
pause
GOTO FINAL
:EXISTE
del %parametro%
pause
GOTO FINAL
:FINAL
exit /b
Ejercicio 15.- Crea un archivo de procesamiento por lotes que se denomine listad
o.bat el cual
realice las siguientes operaciones:
a. Limpie la pantalla.
b. Muestre por pantalla un listado del directorio Windows del disco duro en form
a de
columnas y que se pare cuando se llene la pantalla.
@echo off
:INICIO
cls
time /T
pause
GOTO INICIO
:FECHA
date /T
pause
GOTO INICIO
:VOLUMEN
Vol >> varios.txt
Adrin Serrano Benavente 2
ASIR
pause
GOTO INICIO
:SALIR
exit /b
Ejercicio 17.- Crea un archivo de procesamiento por lotes que se denomine info2.
bat el cual
realice las siguientes operaciones:
a. Limpie la pantalla.
b. Cree un directorio llamado prueba en C:\
c. Cree un listado de C:\ y almacene la salida en un archivo llamado list.txt en
C:\.
d. Copie el archivo list.txt en el directorio prueba.
e. Muestre el contenido del archivo lista.txt por pantalla de forma ordenada.
f. Antes de realizar una operacin se mostrar un mensaje por pantalla que indicar
lo que se va a realizar.
g. Debe realizar una pausa despus de cada operacin
@echo off
:INICIO
cls
echo "Menu seleccion"
echo "1) Limpiar pantalla"
echo "2) Crear carpeta prueba en C:\."
echo "3) Listado de c: guardado en c:\list.txt."
echo "4) Copiar el archivo list.txt en el directorio prueba."
echo "5) SALIR"
echo "Marque el numero de opcion"
set /p opcion=
if %opcion%==1 GOTO LIMPIAR
if %opcion%==2 GOTO PRUEBA
if %opcion%==3 GOTO LISTADO
if %opcion%==4 GOTO COPIAR
if %opcion%==5 GOTO SALIR
GOTO ERROR
:LIMPIAR
cls
pause
GOTO INICIO
:PRUEBA
echo "Creamos la carpeta c:\prueba"
mkdir c:\prueba
pause
GOTO INICIO
:LISTADO
echo "Se guardara el resultado de lista c: en c:\list.txt"
dir c: > c:\list.txt
pause
GOTO INICIO
:COPIAR
echo "Se copiara list.txt a c:\prueba
copy c:\list.txt c:\prueba\list.txt
pause
GOTO INICIO
:SALIR
Adrin Serrano Benavente 2 ASIR
exit /b
Ejercicio 18.-. Realizar un fichero BAT llamado PRACTICA.BAT que haga lo siguien
te:
- Desactivar la visualizacin de rdenes.
- Borrar pantalla
- Indicar un mensaje en pantalla que diga VISUALIZACIN DE DISCO C
- Hacer una pausa
- Ver el directorio del disco C por columnas.
- Hacer una pausa
- Borrar pantalla
- Indicar un mensaje en pantalla que diga VISUALIZACIN DE DISCO D
- Hacer una pausa
- Ver el directorio del disco D por pginas.
- Hacer una pausa
- Borrar pantalla
- Mensaje que indique FIN DEL ARCHIVO BAT.
@echo off
cls
echo "Disco C"
pause
dir c:\
pause
cls
echo "Disco D"
pause
dir d:\ | more
pause
cls
echo "FIN DEL BAT"
exit /b
ASIR
Ejercicio 20.- Crear una calculadora con opciones, es decir, el formato de llama
da a sta ser
calcula 3 + 4. Dando por pantalla Resultado: 7. Los parmetros del clculo as como lo
s de la
operacin se pasan como parmetros. Debe controlar si se introduce una operacin indeb
ida.
Solo sern vlidos +, - , *, /
@echo off
:INICIO
cls
echo "Introduzca valor 1"
set /P val1=
echo "Introduzca valor 2"
set /P val2=
echo "Operacion"
echo "+) SUMA"
echo "-) RESTA"
echo "*) MULTIPLICACION"
echo "/) DIVISION"
echo "5) SALIR"
set /p opcion=
if ("%opcion%"=="+" OR %opcion%==1) GOTO SUMA
if ("%opcion%"=="-" OR %opcion%==2) GOTO RESTA
if ("%opcion%"=="*" OR %opcion%==3) GOTO MULTIPLICACION
if ("%opcion%"=="/" OR %opcion%==4) GOTO DIVISION
if %opcion%==5 GOTO SALIR
:SUMA
set /A res=%val1% + %val2%
GOTO RESUL
:RESTA
set /A res=%val1% - %val2%
GOTO RESUL
:MULTIPLICACION
set /A res=%val1% * %val2%
GOTO RESUL
:DIVISION
set /A res=%val1% / %val2%
GOTO RESUL
:RESUL
echo "El resultado es: %res%"
pause
GOTO INICIO
:SALIR
exit /b
ASIR