Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 10.01.2011
Сообщений: 30

Удалить все, что находится в папке

03.10.2011, 20:34. Показов 1805. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу,которая удалит все, что находится в той папке, в которую помещен екзешник проги. желательно с объяснением, а то я эту задачу не знаю как решить.
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2011, 20:34
Ответы с готовыми решениями:

Удалить все что находится в скобках
Мне нужно удалить в определенной фразе все что находится в скобках, делаю так $test='Canon PowerShot G7 X Mark II Digitalkamera (mit...

Удалить в строке все. что находится после заданного символа
Вся суть в том, что программа находит символ '*' и все, что после нее удаляет...У меня процесс удаления не выходит...Подскажите что не...

Сохранение скриншотов в папке в папке где находится сама программа
Подскажите как сохранить скриншоты в папке, в папке где находится сама программа и потом эту папку скрыть?8-)

2
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
05.10.2011, 12:57
Прога удаляет ВСЁ из текущего каталога и подкаталогов. Насчёт аттрибутов SYSТEM и HIDDEN просто не помню.
Вывод пути/имени удаляемого файла закомментарен.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
FFName          equ     byte ptr [bp+30]        ;File name in DTA
FFAttr          equ     byte ptr [bp+21]        ;File attribute in DTA
IsDirectory     equ     10h                     ;Subdirectory attribute
LocalAlloc      equ     2Ch                     ;Local stack allocation
 
code            segment
                assume  cs:code,ds:code
                org     100h
begin:
 
;; Main saves the current directory, switches to the root directory,
;; calls the procedure Searchdir, and then restores the current directory.
Main            proc    near
                cld                             ;Clear direction flag
 
        mov Directory,'\'
 
                mov     ah,47h                  ;Save the current directory
                xor     dl,dl
                mov     si,offset Directory+1
                int     21h
 
                mov     ah,09h                  ;Move the cursor to the
                mov     dx,offset crlf          ;next line
                int     21h
 
 
                call    SearchDir               ;List all the files
 
                mov     ah,3Bh                  ;Restore the directory that
                mov     dx,offset Directory     ;was current when we started
                int     21h
 
        mov ah,9
        mov dx,offset done
        int 21h
 
                mov     ax,4C00h                ;Exit
                int     21h
Main            endp
 
;; SearchDir lists all the files in the current directory, then calls
;; itself recursively to list files in descendant directories.
 
SearchDir       proc    near
                push    bp                      ;Save BP
                mov     ah,2Fh                  ;Get DTA address
                int     21h
                push    bx                      ;Save it on the stack
                push    es
                sub     sp,LocalAlloc           ;Allocate stack space
                mov     bp,sp                   ;Stack pointer in BP
                mov     ah,1Ah                  ;Change DTA to location
                mov     dx,bp                   ;on the stack
                int     21h
 
FindFirstDir:   mov     ah,4Eh                  ;Find first subdirectory
                mov     cx,17h
                mov     dx,offset StarDotStar
                int     21h
                jc      fil1                ;Branch if none found
 
TestEntry:      cmp     FFName,'.'              ;Skip "." and ".." entries
                je      FindNextDir
                test    FFAttr,IsDirectory      ;Branch if it╒s not a
                jz      FindNextDir             ;subdirectory name
 
                mov     ah,3Bh                  ;Change to the directory
                mov     dx,bp                   ;whose name was just
                add     dx,30                   ;returned
                int     21h
 
                call    SearchDir               ;List the files in it
 
 
FindNextDir:    mov     ah,4Fh                  ;Find next subdirectory
                int     21h
                jnc     TestEntry
 
; List all the files in the current directory.
fil1:
        mov ax,4301h
        xor cx,cx
        mov dx,offset StarDotStar
        int 21h
 
        mov ah,13h
        mov dx,offset fcb
        int 21h
 
                mov     ah,4Eh                  ;Find first file
                xor     cx,cx
        dec cx
                mov     dx,offset StarDotStar
                int     21h
                jc      SearchDirExit            ;Branch if none found
DelFile:
comment #
                mov     ah,60h                  ;Add the drive and path to
                mov     si,bp                   ;the file name by calling
                add     si,30                   ;undocumented MS-DOS
                mov     di,offset FileName      ;function 60h
                int     21h
 
                xor     al,al                   ;Convert the ASCIIZ file
                mov     cx,128                  ;name to one delimited by
                mov     di,offset FileName      ;a dollar sign
                repne   scasb
;                mov     byte ptr [di-1],'$'
                mov     ah,09h                  ;Display the file name
                mov     dx,offset FileName      ;by calling MS-DOS
                int     21h                     ;function 09h
 
                mov     ah,09h                  ;Move the cursor to the
                mov     dx,offset crlf          ;next line
                int     21h
 
#
 
                mov     ah,3ah                  ;*DELETE* the file name
                lea     dx,FFName           ;by calling MS-DOS
                int     21h                     ;function 3ah
 
 
                mov     ah,4Fh                  ;Find next file and ddelete
                int     21h                     ;the file name if the search
                jnc     DelFile                ;was successful
 
; Now search for descendants of the current directory.  If found, change
; to each subdirectory in turn and call SearchDir recursively.
; Clean up the stack, restore the DTA address, and exit.
SearchDirExit:
                mov     ah,3Bh                  ;Return to the parent
                mov     dx,offset UpOneLevel    ;directory
                int     21h
 
        add     sp,LocalAlloc           ;Deallocate stack space
                mov     bx,ds                   ;Save DS in BX
                mov     ah,1Ah                  ;Restore the DTA address
                pop     ds
                pop     dx
                int     21h
                mov     ds,bx                   ;Restore DS from BX
                pop     bp                      ;Restore BP
                ret
SearchDir       endp
 
StarDotStar     db      '*.*',0
UpOneLevel      db      '..',0
crlf        db  'wiping...',13,10,'$'
done            db      'directory wiped.',13,10
        db  '(c) by Charles Kludge,1993.',13,10,'$'
fcb     db  0,'???????????'
        db  22 dup(?)
Directory       db      65 dup (?)
FileName        db      128 dup (?)
 
code            ends
                end     begin
1
0 / 0 / 2
Регистрация: 10.01.2011
Сообщений: 30
05.10.2011, 18:09  [ТС]
спасибо большое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2011, 18:09
Помогаю со студенческими работами здесь

Как удалить все файлы в указанной папке ?
Зная путь к папке, требуется максимально просто и надежно удалить все файлы в этой папке программно. Считаем, что в этой папке нет...

Удалить все пустые папки в текущей папке
Удалить все пустые папки в текущей папке.

Удалить все пустые папки в текущей папке
Удалить все пустые папки в текущей папке

Как удалить все файлы в папке без WinAPI ?
Ну собственно дубль шапки: Как удалить все файлы в папке без WinAPI ? Тоесть на чистом C++ без BOOST, QT и пр и не на последнем...

Удалить все файлы в папке, кроме заданных в текстовом файле
Необходимо удалить все файлы в папке кроме задых в текстовом файле.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru