Всем доброго времени суток! Подскажите, как удалить заданный катлог с файлами? Пробовал разными способами, но не получается никак! Помогите, пожалуйста! Может у кого-нить есть исходник?
Я пытался через поиск всех файлов. Перехожу в текущий каталог, Нашел первый файл - считываю DTA+1Eh типа имя файла, передаю его функции удаления 41h, удаляю, иду к следующему итд, пока каталог не станет пустым, а потом убираю и сам каталог. А у кого-нибудь из вас есть исходник?
Нет, извиняюсь, но под дос не знаю А разве нет функции/прерывания удаления папки? Когда-то давно вроде видел же, но это было давно
делаешь рекурсивную функцию, ей передается каталог. она перечисляет все, что в ней есть. если попался каталог, вызывает рекурсиво себя для этого каталога если файл - стирает его после чего стирает сам каталог.
Можешь исходник дать, пожалуйста,если не трудно? Просто я под винду не писал никогда, а прога срочно нужна!
Литература - уроки ицзелиона на этом сайте, шоб понять, что такое вин32. + справочник по функциям SDK ~25-30 метров весит
Вот я кое-как написал, она компиляется,но far матерится, что отсутствует какой-то обязательный параметр (какой?) и почему-то вместо заданного каталога идет удаление всего каталога, где находится программа! Может сможет кто-нить подсказать, в чем ошибка? code segment org 100h assume cs:code,ds:code,es:code,ds:code start: call changedir call delete jc no_morefiles no_morefiles: mov ah,3ah mov si,0001h mov dx,offset dname int 21h mov ax,4c00h int 20h changedir proc mov dx,offset dname mov ah,3bh int 21h ret changedir endp delete proc mov ax,7141h mov si,0001h mov dx, offset all_files int 21h ret delete endp dname db "c:\dir",0 all_files db "*.*",0 code ends end start
Arsenal1990 А твоя программка не в другом разделе лежит (D: например)? Функция CHDIR не изменяет текущий диск, а изменяет текущий каталог на _указанном_ диске (если он указан). Поэтому нужно сначала сменить текущий диск (0eh функция). Вообще неплохо бы проверять ошибки после вызова функций.
Arsenal1990 По-моему в этом кусочке кода Код (Text): jc no_morefiles no_morefiles: чего-то нет. Ведь мы всегда пройдём к no_morefiles несмотря на состояние флага CF. Кроме того, вместо кода Код (Text): mov ax,4c00h int 20h надо вписать Код (Text): mov ax,4c00h int 21h