Поиск файлов на диске по шаблону по всем каталогам диска. Вывод размера, даты создания и полного пути к найденным файлам - Программирование, компьютеры и кибернетика курсовая работа

Поиск файлов на диске по шаблону по всем каталогам диска. Вывод размера, даты создания и полного пути к найденным файлам - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Поиск файлов на диске по шаблону по всем каталогам диска. Вывод размера, даты создания и полного пути к найденным файлам

Поиск вредоносных программ по средствам программ антивирусных. Выбор формата представления данных. Интерфейс программы, ее тестирование и отладка. Список процедур, их назначение. Поиск как средство для облегчения, удобства, надежности работы на ПК.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Институт автоматики и вычислительной техники
«Системное программное обеспечение»
Тема: Поиск файлов на диске по шаблону по всем каталогам диска. Вывод размера, даты создания и полного пути к найденным файлам
3. Выбор формата представления данных
5. Список функций, используемых в программе
Поиск файла на диске по шаблону - задача, с которой нам приходится сталкиваться практически всякий раз при работе на компьютере. Это и непосредственный поиск, для которого мы используем поисковую систему проводника и неявный - поиск вредоносных программ по средствам программ антивирусных. Поиск необходим для облегчения, удобства, надежности работы на персональном компьютере. Для написания программы, решающей поставленную задачу, на ассемблере необходимо использовать множество функций работы с файлами и базовые знания языка.
Программа должна реализовать поиск файла по заданному пользователем шаблону во всех каталогах выбранного пользователем диска. По исполнению программы на экран будут выведены следующие сведения: полный путь к файлу; дата и время создания файла; размер файла в байтах и количество результатов в целом (количество файлов, удовлетворяющих шаблону).
Интерфейс программы прост и удобен. После запуска на экран выводится сообщение о том, что необходимо ввести букву диска, на котором будет происходить поиск. После того, как пользователь введет символ, выводится сообщение о том, что необходимо ввести шаблон поиска. По нажатию клавиши Enter программа начинает поиск файла по указанному шаблону, на указанном диске. Если таковые файлы были найдены, то будут выведены последовательно по мере нахождения, друг за другом полный путь к файлу, дата и время создания, и размер файла в байтах. Эта информация, привязанная к каждому файлу, выводится через пустую строку. По окончанию поискового процесса выведется количество найденных файлов.
3. Выбор формата представления данных
Из директив, определяющих элементы данных в программе используются директивы DB и DW(директивы, определяющие байт и два байта соответственно). В табл.1 перечислены переменные, используемые в программе.
строка для последующего ввода в нее буквы диска
начальный путь для записи промежуточных результатов
В табл.2 представлены процедуры и их назначение
процедура вывода строки. Перед вызовом процедуры в регистре dx должен храниться адрес на строку, предназначенную для вывода.
процедура вывода символа. Перед вызовом процедуры в регистре bl должен храниться адрес на символ, предназначенный для вывода.
процедура вывода времени, даты. Перед вызовом процедуры в регистрах dx, cx должны храниться дата и время соответственно в DOS-формате.
процедура вывода числа на экран в десятичной форме. Перед вызовом процедуры в регистре ax должно находится число, которое необходимо перевести в десятичный формат и вывести на экран.
процедура вывода размера файла. Перед вызовом процедуры по смещению si должна храниться старшая часть, по смещению si+2 младшая часть выводимого размера. Так как она имеет длину два слова.
получение и вывод на экран полного пути к файлу
процедура поиска в каталоге файла по ранее заданному шаблону
5. Список функций, используемых в программе
Функция 09h прерывания 21h. Вывод строки на экран.
Вход: DS:DX -- адрес ASCII-строки символов,
Функция 02h прерывания 21h. Вывод одиночного символа на экран.
Вход: DL -- символ, который необходимо вывести.
Функция 7160h прерывания 21h. Получение полного пути к файлу.
Вход: CL = 2. Получить полный путь с длинными именами.
DS:SI -- адрес ASCIIZ-строки с именем файла или каталога, для которых необходимо получить путь в длинной форме
ES:DI -- адрес строки, в которую необходимо записать полный путь
Выход: CF = 0 -- успешное выполнение функции, в результате чего полный путь от корневого каталога в виде ASCIZ-строки записывается в буфер, адрес которого указан в ES:DI.
Функция 714Eh прерывания 21h. Поиск первого файла.
Вход: CL -- атрибуты искомых файлов
DS:DX -- адрес ASCIIZ-строки с именем искомого файла или каталога
ES:DI -- адрес, куда будет возвращена информация о файле
SI -- формат, в котором возвращается дата и время (0-64р)
Выход: CF = 0 -- успешное выполнение функции, АХ = дескриптор, использующийся далее для процесса поиска.
CF = 1 -- АХ = код ошибки при неудачном выполнении функции.
Функция 71A7h прерывания 21h. Преобразование времени в DOS-формат. Вход: BL = 0 -- преобразовать 64-разрядное время в DOS-время .
DS:SI -- указатель на структуру, содержащую время.
Выход: CF = 0 -- успешное выполнение функции.
Функция 714Fh прерывания 21h. Поиск следующего файла.
Вход: ВХ = дескриптор, полученный функцией 714Eh
ES:DI -- адрес куда будет возвращена информация о файле
SI -- формат, в котором возвращается дата и время (0-64р)
Выход: CF = 0 -- успешное выполнение функции, АХ = дескриптор, использующийся далее для процесса поиска.
CF = 1 -- АХ = код ошибки при неудачном выполнении функции.
Функция 713Bh прерывания 21h. Смена текущего каталога.
Вход: DS:DX -- указатель на буфер, содержащий полный путь от корневого каталога в виде ASCIZ-строки и в качестве последнего элемента включающий имя нового текущего каталога
Выход: CF = 0 -- АХ - не определен;
CF=0 -- АХ = код ошибки: 03h -- путь не найден
Функция 71A1h прерывания 21h. Завершение поискового процесса.
Вход: BX = идентификатор процесса, который необходимо завершить
Выход: CF = 0, если операция выполнена CF = 1 и АХ = код ошибки
Функция 01h прерывания 21h. Чтение одиночного символа с клавиатуры.
Выход: AL = ASCII-код символа или 0
Функция 0Ah прерывания 21h. Чтение строки с клавиатуры.
Вход: DS:DX -- адрес буфера, первый байт которого должен содержать максимальное количество символов для ввода
Выход: введенная строка начиная с третьего байта буфера по адресу в DS:DX, длина строки во втором байте буфера.
Функция 4ch прерывания 21h. Завершение программы.
После проведения многочисленных тестов необходимо заметить, что для правильной работы программы необходимо: ввести существующий диск для поиска; иметь права доступа на чтение в найденном каталоге; в качестве шаблона поиска использовать точное имя файла или папки.
Поставленная задача была реализована. Особые трудности вызвала отладка программы.
1. П. Абель Язык ассемблера для IBM PC и программирования - М.: Высшая школа, 1992. -447с.
2. Файл руководства по системным функциям - interrup.lst.
3. Интернет ресурсы: http://subscribe.ru/archive/comp.prog.assembler - общая информация.
4. Интернет ресурсы: http://assembler-rus.ru - общая информация.
5. Интернет ресурсы: http://demon-riabev.by.ru - информация по функциям работы с файлами.
; Поиск файлов на диске по шаблону по всем каталогам диска.
; Вывод размера, даты создания и полного пути к найденным файлам.
;_______________________________________________________________
;_______________________________________________________________
search_template db 14,0,13 dup (?),0 ; шаблон поиска, мб сделать label
any db '*',0 ; шаблон любого файла или
parent db '..',0 ; родительский каталог
count db 0 ; счетчик найденных файлов
struct_locate dw 00A0h ; начальный путь для записи пром.
path_locate dw 0100h ; полный путь к файлу
create_text db 'Creation date and time: $' ; строка - вывод - дата и время
size_text db 'Size: $' ; строка - размер файла
end_text db 0dh,0ah,'$' ; переход на след строку
summ_text db 'Summary: $' ; всего результатов
enter_text db 'enter pattern for search: $' ; строка - введите шаблон для
disk_enter_text db 'enter disk for search: $' ; строка - введите диск для поиска
disk_text db 'C:',0 ; строка для послед ввода в нее
cur_text db '.',0 ; текущий каталог
root_text db '\',0 ; корневой каталог
size_buf dw 2 dup (?) ; буфер для хранения размера файла
;_________________________________________________________________
outputl proc ; процедура вывода строки
outputs proc ; процедура вывода на экран одиночного символа
creation_dtime proc ; процедура вывода времени, даты
; dx - |Y|Y|Y|Y|Y|Y|Y|M|M|M|M|D|D|D|D|D|
and al,00011111b ; накладываем маску на соответствующие
call dec_output ; выводим на экран в десятичной форме
mov bl,'/' ; разделяющий символ, для удобства
call outputs ; разделяющий символ, для удобства
mov bl,' ' ; разделяющий символ, для удобства
; сx - |H|H|H|H|H|M|M|M|M|M|M|S|S|S|S|S|
mov bl,':' ; разделяющий символ, для удобства
call outputs ; разделяющий символ, для удобства
dec_output proc ; процедура вывода числа на экран в десятичной форме
mov bl,1010b ; для перевода из двоичной системы в десятичную
div bl ; делим число на основание новой системы счисления
push ax ; остаток сохраняем в стеке
jne conversion ; делим до тех пор, пока делимое не станет =0
pop ax ; выводим остатки от деления в обратном порядке
size_output proc ; процедура вывода размера файла
push ax ; размер файла имеет длину два слова, старшая
;хранится по смещению si, младшая - si+2
mov bx,10 ; переводим размер из двоичной в десятичную
mov dx,0 ; т.к. результат деления может превышать размер
;слова, используем алгоритм деления по словам
mov ax,[si+2] ; производим деление младшего слова с учетом
;остатка от деления старшего слова (rest)
div bx ; rest*2^16 + младшее_слово / bx
path_output proc ; получение и вывод на экран полного пути к файлу
pushf ; размещение регистра флагов в стеке
mov ax,7160h ; получение полного пути к файлу
mov cx,2 ; получение полного пути с длинными именами
lea si,cur_text ; DS:SI -- адрес ASCIIZ-строки с именем файла
;или каталога, для которых необходимо ;получить путь в длинной форме
int 21h ; ES:DI -- адрес строки, в которую необходимо ;записать полный путь
mov bl,ds:[di] ; вывод полного пути к файлу на экран
;========================================================= search proc ; процедура поиска в каталоге
mov ax, 714Eh ; функция поиска первого файла
mov cx, 0FFh ; с атрибутами: архивный, подкаталог,
;системный, спрятанный, только чтение
mov di, bp ; на начальный путь записи пром. результатов
mov si,0 ; время в 64разрядном формате
; шаблон поиска, минус 2байта |Max|Real|
jnc cf_search ; если ничего не найдено, ищем подкаталоги для
mov bx,ax ; в в ax записывается порядк номер процесса поиска
push bx ; сохраним значение регистров в стеке
lea di,count ; подсчет количества результатов
mov ax, 7160h ; получим полный путь к файлу
mov cl, 2 ; получить путь с длинными именами
mov cx, 0 ; получить полный путь(а не имя диска, если 80)
lea si, [bp+2Ch] ; формируем указатель на имя файла DS:SI
lea di,path_locate ; номинируем указатель на буфер, для получения
pout: ; вывод полного пути к файлу на экран
inc di ; выводим пока не дойдем до признака конца строки
lea dx,end_text ; переход на след строку
lea dx,create_text ; вывод на экран "data, time: "
mov ax,71A7h ; преобразование времени в DOS-формат
mov bl,0 ; dх получит дату, сх - время
lea si,[bp+4] ; указатель на структуру, содержащую время
call creation_dtime ; вызов процедуры вывода даты и времени
lea dx,end_text ; переход на след строку
lea dx,size_text ; вывод на экран "size: "
mov ax,7143h ; получим атрибуты файла
mov bx,2 ; 2 - получим размер "сжатого файла"
lea dx,[bp+2Ch] ; DS:DX - ASCIIZ-строка с именем файла
mov [si],dx ; заносим размер файла в буфер
call size_output ; выводим на экран
lea dx,end_text ; переход на след строку
pop si ; восстановим значение регистров
mov ax, 714Fh ; функция поиска следующего файла по шабл.
int 21h ; BX - номер процесса поиска, возвр-ся фун-ей
mov ax,714Eh ; функция поиска первого подкаталога
mov di,bp ; ES:DI -- адрес, куда будет возвращена
mov cx,1010h ; выводить только каталоги
mov si,0 ; формат, в котором возвращается дата и время
lea dx,any ; DS:DX -- адрес ASCIIZ-строки с именем искомого
push cx ; для того, чтобы не обрабатывать ссылки на текущий
mov cl,ds:[bp+2Ch] ; каталог ('.' и '..'), прогоняем поиск два раза
cmp cl,2Eh ; если имя каталога начинается не с '.'
;(находимся в корне диска), сразу переходим в этот каталог
mov ax,714Fh ; найти следующий подкаталог
jc search_fin ; если больше подкаталогов нет, завершаем поиск
mov ax,713Bh ; смена текущего каталога, в DS:DX - адрес на
;ASCIIZ-строку с полным путем к новому каталогу
lea dx,[bp+2Ch] ; новый каталог является подкаталогом текущего =>
call search ; запускаем новый поиск в найденном подкаталоге
mov ax,713Bh ; переход в родительский каталог после поиска
mov ax,71A1h ; завершение поискового процесса, указанного в BX
;_____________________________________________________
mov ax,@data ; инициализация сегментов
lea dx,disk_enter_text ; вывод на экран "enter disk for search:"
mov ah,01h ; запись в al, считанного символа
mov [bx],al ; запись букву диска в disk_text
lea dx,end_text ; переход на след строку
mov ax,713Bh ; переход в корневой каталог указанного диска
lea dx,disk_text ; смена текущего каталога, DS:DX - путь к новому
lea dx,enter_text ; на начальный путь записи пром. результатов
mov ah,0Ah ; ввод поискового шаблона с клавиатуры
lea dx,search_template ; 0Ah - ввод строки с клавиатуры, результат
;записывается в DS:DX, начиная со смещения DX+2
int 21h ; по смещению DX предварительно помещается
; длина вводимой строки, DX+1 - количество ;считанных символов
mov bx,dx ; ставим в конец строки с введенным поисковым
; (преобразование к ASCIIZ-строке, для
mov dl,[bx+1] ; записываем в dl количество символов,
lea bx,[di+2] ; смещаемся в конец считанной строки с шаблоном
mov byte ptr[bx],0 ; и записываем нулевой символ
lea bp,struct_locate ; помещаем в bp указатель на начало
lea dx,summ_text ; вывод на экран "Summary: "
lea si,count ; вывод на экран количества найденных файлов
mov ah,4Ch ; стандартное завершение программы
Защита компьютера от вредоносных программ. Принцип работы антивирусных программ: проверка файлов, загрузочных секторов дисков и оперативной памяти и поиск в них известных и новых вредоносных программ. Сигнатуры и их использование при работе с компьютером. презентация [976,8 K], добавлен 21.05.2019
Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов. курсовая работа [1,8 M], добавлен 28.03.2015
Проектирование пользовательского интерфейса программы, осуществляющей шифрование и дешифрование файлов. Выбор формата представления данных. Список процедур, макросов и их назначение. Описание используемых в программе функций, ее тестирование и отладка. курсовая работа [29,3 K], добавлен 17.05.2013
Проектирование пользовательского интерфейса. Выбор формата представления данных, используемые переменные. Список процедур и макросов, их назначение. Используемые в программе функции. Тестирование и отладка правильной работы программы, схема листинга. курсовая работа [28,6 K], добавлен 17.05.2013
Самые популярные и эффективные типы антивирусных программ. Список самых распространённых антивирусных программ в России. Порядок действий в случае проникновения вируса на компьютер. Роль антивирусной защиты и ее выбор для безопасной работы компьютера. презентация [1,2 M], добавлен 08.06.2010
Установка и использование антивирусных программ. Определение скорости проверки файлов на наличие вирусов. Проверка антивирусных программ на эффективность поиска зараженных файлов. Антивирусные программы NOD32, Dr. WEB, Kaspersky Internet Security. курсовая работа [69,1 K], добавлен 15.01.2010
Особенности антивирусных программ (антивирусов) - компьютерных программ, предназначенных для обезвреживания вирусов и различного рода вредоносного ПО, с целью сохранности данных и оптимальной работы ПК. Классификация и примеры антивирусных программ. реферат [22,4 K], добавлен 26.03.2010
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Поиск файлов на диске по шаблону по всем каталогам диска. Вывод размера, даты создания и полного пути к найденным файлам курсовая работа. Программирование, компьютеры и кибернетика.
Дипломная работа по теме Особенности организации и регулирования деятельности банка на российском рынке ценных бумаг
Контрольная работа: Эстетика и дизайн товаров
Сочинение На Тему Путь К Счастью
Реферат: Аналитическая философия
Реферат по теме Злоупотребление должностью
Курсовая работа: Технологический расчет эксплуатационного предприятия
Егэ Русский Сочинение Примеры Из Литературы
Реферат: Стилі керівництва 3
Дипломная работа по теме Производство полиэтиленовых пленок
Реферат по теме Центральные административные учреждения Италии
Реферат Термическая Обработка Металлов Особенности
Дипломная работа по теме Объектно–ориентированная модель информационной подсистемы 'Трудоустройство'
Реферат На Тему Правовое Регулирование
Реферат по теме Видатні рекламісти та рекламні агенції ХХ ст.
Дипломная работа по теме Меры государственной поддержки предпринимательской деятельности в Республике Бурятия
Осенний Лес Сочинение
Реферат: Human Resource Challenges In T Essay Research
Курсовая работа: Лёгкие многоцелевые вертолёты
Контрольная работа по теме Клинико-психологическая характеристика психоорганического синдрома
Реферат: История развития автомобилей. Скачать бесплатно и без регистрации
Методология и практика составления пояснительной записки на предприятии - Бухгалтерский учет и аудит курсовая работа
Использование метода проектов как предпосылка формирования специализированной компетентности - Педагогика статья
The Ukraine’s foreign trade potential in the sphere of high-technological products - Международные отношения и мировая экономика статья


Report Page