Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
netfish
Зарегистрирован: 22.01.2003 Сообщения: 5 Откуда: rzeszow
|
Добавлено: Чт Янв 30 2003 21:06 Заголовок сообщения: delete files |
|
|
kak udalit vse fajly s papki ? |
|
Вернуться к началу |
|
|
xal.newmail.ru Гость
|
Добавлено: Пт Янв 31 2003 13:46 Заголовок сообщения: Re: delete files |
|
|
Если не нужно обрабатывать подкаталоги, то просто: ищешь файлы и удаляешь. А если нужно обрабатывать с подкаталогами, то для найденных каталогов вызываешь функцию еще раз. Вот описание нужных тебе функций: ----(1)---------- FindFirstFile The FindFirstFile function searches a directory for a file whose name matches the specified file name. FindFirstFile examines subdirectory names as well as file names.
To specify additional attributes to be used in the search, use the FindFirstFileEx function.
HANDLE FindFirstFile( LPCTSTR lpFileName, // file name LPWIN32_FIND_DATA lpFindFileData // data buffer ); ----(2)-------- FindNextFile The FindNextFile function continues a file search from a previous call to the FindFirstFile function.
BOOL FindNextFile( HANDLE hFindFile, // search handle LPWIN32_FIND_DATA lpFindFileData // data buffer ); ----(3)------- FindClose The FindClose function closes the specified search handle. The FindFirstFile and FindNextFile functions use the search handle to locate files with names that match a given name.
BOOL FindClose( HANDLE hFindFile // file search handle ); ----(4)---------- DeleteFile The DeleteFile function deletes an existing file.
BOOL DeleteFile( LPCTSTR lpFileName // file name ); ----(end)-----------
И вот кусок кода, который я когда-то писал для себя, там нужно только поменять добавление имени файла и каталога на удаление файла и запуск самой себя для вложенного каталога.
AnsiString files=command.SubString(5, command.Length()-4); TSearchRec sr; AnsiString tos="Command manager: "; tos+="execution: dir "+files+"\r\n";
if (FindFirst(files, faAnyFile, sr) == 0) { do { if ((sr.Attr & faAnyFile) == sr.Attr) { if ((sr.Attr&0x10)==sr.Attr) { tos+="DIR "; tos=tos+sr.Name+"\r\n"; } else { tos+="FILE "; tos=tos+sr.Name+"\r\n"; } } } while (FindNext(sr) == 0); FindClose(sr); }
А если нужно удалить пустую папку, то: RemoveDirectory The RemoveDirectory function deletes an existing empty directory.
BOOL RemoveDirectory( LPCTSTR lpPathName // directory name ); |
|
Вернуться к началу |
|
|
Victor
Зарегистрирован: 03.04.2003 Сообщения: 32
|
Добавлено: Пт Янв 31 2003 13:46 Заголовок сообщения: Re: delete files |
|
|
del /q *.* |
|
Вернуться к началу |
|
|
netfish
Зарегистрирован: 22.01.2003 Сообщения: 5 Откуда: rzeszow
|
Добавлено: Сб Фев 01 2003 10:42 Заголовок сообщения: Re: delete files |
|
|
no mne neobhodim kod na VB 6 ? a eto cheto ne pochoge... |
|
Вернуться к началу |
|
|
xAL
Зарегистрирован: 31.01.2003 Сообщения: 27 Откуда: Челябинск
|
Добавлено: Сб Фев 01 2003 19:23 Заголовок сообщения: Re: delete files |
|
|
>no mne neobhodim kod na VB 6 ? a eto cheto ne pochoge... Так бы сразу и сказал
Там было что-то про API функции (толи справочник какой-то, толи просто текстовый файл - не помню). По крайней мере я видел на диске с MSVStudio 6 Enterprise Edition. Но там, по-моему, были только прототипы + можно было ЛЕГКО вставить в свою программу и вызов и подключение нужной библиотеки. А отличия там только в параметрах. Вот. Там посмотри, как эти функции выглядят в VB ... и вперед! В смысле все то-же саме, что и я написал, только на VB "переведи" - с этим, надеюсь, проблем не будет. |
|
Вернуться к началу |
|
|
netfish
Зарегистрирован: 22.01.2003 Сообщения: 5 Откуда: rzeszow
|
Добавлено: Вс Фев 02 2003 10:32 Заголовок сообщения: Re: delete files |
|
|
eto konechno horosho shto na diske jest - no problema w tom chto diska - to mne ne dostat |
|
Вернуться к началу |
|
|
xAL
Зарегистрирован: 31.01.2003 Сообщения: 27 Откуда: Челябинск
|
Добавлено: Пн Фев 03 2003 10:20 Заголовок сообщения: Re: delete files |
|
|
Гм. Ну так поищи - очень он тебе поможет.
Я уже давно не "трогал" VB, поэтому ничего лучше чем Shell("del /s /q folder/*.*") не могу предложить.
Shell - если не понятно, выполняет команду, как если бы ты ее в командной строке набрал У нее есть какие-то параметры, но это ты сам в справке лучше посмотри. |
|
Вернуться к началу |
|
|
|