file find - proyecto programación 3 1992 - ufm - fisicc

2

Click here to load reader

Upload: egdares-futch

Post on 04-Jun-2015

355 views

Category:

Education


3 download

DESCRIPTION

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).

TRANSCRIPT

Page 1: File Find - Proyecto Programación 3 1992 - UFM - FISICC

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

Page 2: File Find - Proyecto Programación 3 1992 - UFM - FISICC

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