Este proyecto consiste en desarrollar un programa capaz de buscar uno o más archivos en todo el sistema de archivos y reportar en qué directorio se encuentra. Además, el usuario puede indicar si desea borrar o copiar a un diskette el o los archivos que este programa encuentre (si los encuentra).
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Buscar archivos con ff utilitario
1. Universidad Francisco Marroquín
F.I.S.I.C.C.
Programación III
Prof. : Egdares Futch H.
Proyecto #1
ff - Un utilitario para búsqueda de archivos
Motivación
Desde su introducción en el sistema operativo UNIX, el sistema de archivos (filesystem )
preferido ha sido el sistema jerárquico, manejado por directorios. Sin embargo, la propia
estructura anidada de éstos hace difícil al usuario la navegación entre ellos buscando
determinado archivo con el que se desea trabajar, por lo que se hace necesario crear utilitarios
para ayuda a los usuarios poco experimentados (y olvidadizos).
Por lo tanto, este proyecto consiste en un programa capaz de buscar uno o más archivos
en todo el filesystem, y reportar en qué directorio se encuentra. Además, el usuario puede
indicar si desea borrar o copiar a un diskette el o los archivos que este programa encuentre (si los
encuentra).
Descripción
Este proyecto está orientado a repasar y cimentar conceptos vistos anteriormente, tales
como : recursión, búsquedas, archivos, parámetros en línea de comandos, etc. y además
introducir nuevas técnicas como : manejo de directorios, uso de unidades de Turbo Pascal y de
rutinas para manejo de archivos.
El proyecto debe consistir en un programa, ff.exe, que acepte en su línea de comandos
los siguientes parámetros :
Help
Invocada como /h, esta opción hace que el programa imprima un mensaje detallando el
uso de todos los parámetros que éste tiene. Ejemplo :
C> ff /h
Search files
Invocada como una especificación de archivos , esta opción le dice al programa que debe
buscar todos los archivos que cumplan con la especificación y reportarla en la consola. Ejemplos :
C> ff *.pas
C> ff d:prueba.pas
C> ff a:proyecto.*
Delete files
Invocada como /d [/i] filespec , esta opción toma el filespec y borra todos los
archivos que cumplan con el filespec sin preguntar. Si se añade la opción /i, el programa debe
preguntar, para cada archivo, si el usuario lo desea borrar. Ejemplos :
C> ff /d *.bak
C> ff /d a:prueba.*
C> ff /d /i b:*.pas
Copy files
2. Esta opción, escrita como /c drive: filespec, indica a ff que debe buscar los
archivos que cumplan con el filespec y copiarlos al disco indicado. Ejemplos :
C> ff /c a: *.pas
C> ff /c c: a:*.pas
Requerimientos
El programa a entregar debe cumplir con los siguientes requerimientos:
- Escrito en Turbo Pascal 5.5 ó 6.0 (uso de objetos opcional, +10 puntos).
- Debe aceptar parámetros únicamente por la línea de comandos.
- Buen performance. Se calificará tiempo de ejecución.
- Grupos de 2 personas máximo .
Suposiciones que debe hacer el programa
El programa debe hacer las siguientes suposiciones :
- Si no existe ningún archivo, debe indicarlo con un mensaje.
- Al terminar, debe indicar el número de archivos que sí cumplieron con las
condiciones de búsqueda.
- La búsqueda debe hacerse desde el directorio actual, y no siempre desde el
principal.
Fecha de entrega y documentación a entregar
La fecha de entrega será el lunes 27 de enero de 1992. NO habrán prórrogas, ni excusas.
La documentación a entregar consistirá en (no folders) :
- Diskette con el proyecto (5.25" ó 3.5", sin virus)
- Carátula con nombre, carnet, nombre de proyecto
- Descripción del proyecto (1 hoja máx.)
- Funcionamiento del proyecto (1 hoja máx.)
- Cómo se usa el proyecto (lo necesario)
- Descripción de rutinas y procedimientos usados
- Comentarios de implementación (opcional, puede mejorar nota)
- Listados de programa
Hints
Para realizar este proyecto, se sugiere investigar en el Turbo Pascal Reference Guide las
siguientes rutinas de librería : findfirst, findnext, fsplit, chdir, mkdir,
paramcount, paramstr, y posiblemente, estudiar la unidad dos.
The Briggs/Chase Law of Program Development:
To determine how long it will take to write and debug a
program, take your best estimate, multiply that by two, add one,
and convert to the next higher units.
- UNIX fortune