Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Удаление файлов по маске   Найти похожие ветки 

 
utter ©   (2006-01-09 18:05) [0]

Имеется группа файлов, начинающихся на определенное слово.
Подскажите, пожалуйста, как можно наиболее просто удалить все файлы, начинающиеся на это слово.

Заранее благодарен.


 
begin...end ©   (2006-01-09 18:41) [1]

Уточните, находятся ли файлы в одном каталоге.


 
utter ©   (2006-01-09 18:45) [2]

Да, конечно. В одном каталоге


 
Anatoly Podgoretsky ©   (2006-01-09 19:03) [3]

ShFileOperation


 
utter ©   (2006-01-09 19:17) [4]

Это высокоуровневое с удалением в Корзину
а нельзя ли как проще и быстрее, Erase"ом или чем то похожим на него?


 
begin...end ©   (2006-01-09 19:22) [5]

> utter ©   (09.01.06 19:17) [4]

> Это высокоуровневое с удалением в Корзину

Не включайте флаг FOF_ALLOWUNDO в поле SHFILEOPSTRUCT.fFlags, и будет мимо Корзины.

> а нельзя ли как проще и быстрее, Erase"ом или чем то похожим
> на него?

Можно. Но тогда придётся самостоятельно искать файлы, имена которых удовлетворяют маске, и удалять их по одному.


 
VirEx ©   (2006-01-09 19:27) [6]

блин, да че тут маятся, сначало найди файл а затем уже и удаляй:

var
 FindData: _WIN32_FIND_DATAA;
 h:THandle;
...
h:=FindFirstFile(PChar(s+"*.txt"), FindData);
while h<>INVALID_HANDLE_VALUE do begin

// - вот здесь то и удаляй как тебе хочется, хошь через ShFileOperation,
// хошь через DeleteFile
{
File Functions

The following functions are used with files.

AreFileApisANSI
CancelIO
CopyFile
CopyFileEx
CopyProgressRoutine
CreateDirectory
CreateDirectoryEx
CreateFile
CreateIoCompletionPort
DefineDosDevice
DeleteFile
FileIOCompletionRoutine
FindClose
FindCloseChangeNotification
FindFirstChangeNotification
FindFirstFile
FindFirstFileEx
FindNextChangeNotification
FindNextFile
FlushFileBuffers
GetBinaryType
GetCompressedFileSize
GetCurrentDirectory
GetDiskFreeSpace
GetDiskFreeSpaceEx
GetDriveType
GetFileAttributes
GetFileAttributesEx
GetFileInformationByHandle
GetFileSize
GetFileType
GetFullPathName
GetLogicalDrives
GetLogicalDriveStrings
GetQueuedCompletionStatus
GetShortPathName
GetTempFileName
GetTempPath
GetVolumeInformation
LockFile
LockFileEx
MoveFile
MoveFileEx
PostQueuedCompletionStatus
QueryDosDevice
ReadDirectoryChangesW
ReadFile
ReadFileEx
RemoveDirectory
SearchPath
SetCurrentDirectory
SetEndOfFile
SetFileApisToANSI
SetFileApisToOEM
SetFileAttributes
SetFilePointer
SetVolumeLabel
UnlockFile
UnlockFileEx
WriteFile
WriteFileEx

Obsolete Functions

_hread
_hwrite
_lclose
_lcreat
_llseek
_lopen
_lread
_lwrite
OpenFile
SetHandleCount
}

FindNextFile(h,FindData);
if GetLastError=ERROR_NO_MORE_FILES then break;
end;
FindClose(h);


 
VirEx ©   (2006-01-09 19:30) [7]

можешь привлечь DOS:
asm
mov ax, 7141h             ; Delete File
mov ch, MustMatchAttrs    ; see below  
mov cl, SearchAttrs       ; see below
mov dx, seg Filename      ; see below
mov ds, dx
mov dx, offset Filename
mov si, WildcardAndAttrs  ; see below
int 21h

jc error
end;


 
utter ©   (2006-01-09 19:33) [8]

Спасибо. Проблема решена



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
15-1137956051
Volf_555
2006-01-22 21:54
2006.02.12
Как создать ярлык, действием которого будет программное нажатие к


15-1137625190
Не математик
2006-01-19 01:59
2006.02.12
Почему корень из двух не является рациональным числом?


3-1134649998
den74
2005-12-15 15:33
2006.02.12
Проверка полей в DBGrid


3-1134387258
Wolferio
2005-12-12 14:34
2006.02.12
Управление базами


6-1130963292
xman
2005-11-02 23:28
2006.02.12
PING





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский