|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Чистка флэшки |
|
C/C++ - Чистка флэшки
|
Старожил Сообщения: 222 |
Профиль | Отправить PM | Цитировать Всем привет. Мне нужно по средствам с++ builder написать программу, которая будет при подключении съемных устройств, в автоматическом режиме, удалять все файлы допустим *.mp3
Возможно ли это? |
|
Отправлено: 05:44, 18-02-2012 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата ddv122:
TSearchRec sear; AnsiString Path; AnsiString Extension; AnsiString FileNoExt; if(FindFirst(Path + "*.exe", faAnyFile, sear) == 0) { do { Extension = ExtractFileExt(sear.Name); FileNoExt = Copy(sear.Name, 1, length(sear.Name) - length(Extension)); .................................... } while(FindNext(sear) == 0); } FindClose(sear); сравниваете и удаляете не нужные как-то так |
|
Последний раз редактировалось ferget, 21-02-2012 в 04:57. Отправлено: 04:45, 21-02-2012 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать El Scorpio, спасибо
Все разобрался { AnsiString DirPath = Edit1->Text; TStringList* ToDel = new TStringList(); ToDel->LoadFromFile("Spisok.txt"); AnsiString ObjectName; for (int i = ToDel ->Count-1; i >= 0; i--) { ObjectName = DirPath+ToDel->Strings[i]; if (DirectoryExists) RemoveDir (ObjectName); (FileExists); DeleteFile (ObjectName); } delete ToDel; } |
Последний раз редактировалось ddv122, 21-02-2012 в 14:40. Отправлено: 13:59, 21-02-2012 | #12 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:32, 21-02-2012 | #13 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать ferget, файлы находит но не удаляет
|
------- Отправлено: 17:01, 21-02-2012 | #14 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:10, 21-02-2012 | #15 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать ferget, спасибо большое, не подскажите
что бы Расширение указываем в коде программы, а возможно как сдесь Цитата ddv122:
и можно было бы удалять не 1 расширение *.lnk а не сколько допустим ещё *.mp3 и *.wav |
|
Отправлено: 17:23, 21-02-2012 | #16 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать вам стоит подумать об использовании ini-файлов
пример ini [directory] //тут список папок для удаления [files] //тут список файлов для удаления [ext] //тут список расширений для удаления *.mp3 *.lnk *.wav TIniFile *Ini = new TIniFile(путь к файлу .ini"); TSearchRec sear; TStringList* ExtToDel= new TStringList(); ini->ReadSectionValues("ext", ExtToDel); for (int i = ExtToDel ->Count-1; i >= 0; i--) { if(FindFirst(Path + ExtToDel->Strings[i], faAnyFile, sear) == 0) { do { DeleteFile(Path+"\\"+sear.Name); } while(FindNext(sear) == 0); } FindClose(sear); } |
Отправлено: 17:46, 21-02-2012 | #17 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать Не удаляет почему то ярлыки
{ AnsiString Path = Edit1->Text; TIniFile *Ini = new TIniFile("spisok.ini"); TSearchRec sear; TStringList* ExtToDel= new TStringList(); Ini->ReadSectionValues("ext", ExtToDel); for (int i = ExtToDel ->Count-1; i >= 0; i--) { if(FindFirst(Path + ExtToDel->Strings[i], faAnyFile, sear) == 0) { do { DeleteFile(Path+"\\"+sear.Name); } while(FindNext(sear) == 0); } FindClose(sear); } } |
Отправлено: 18:08, 21-02-2012 | #18 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:06, 21-02-2012 | #19 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать ferget, все ровно не работает
{ AnsiString Path = Edit1->Text; TIniFile *Ini = new TIniFile("spisok.ini"); TSearchRec sear; TStringList* ExtToDel= new TStringList(); Ini->ReadSectionValues("ext", ExtToDel); for (int i = ExtToDel ->Count-1; i >= 0; i--) { if(FindFirst(Path + ExtToDel->Strings[i], faAnyFile, sear) == 0) { do { DeleteFile(Path+"\\"+sear.Name); } while(FindNext(sear) == 0); } FindClose(sear); } } |
Отправлено: 20:25, 21-02-2012 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Чистка системников | stranges | Прочее железо | 22 | 14-11-2011 17:01 | |
Разное - Чистка ОС XP | inline | Microsoft Windows 2000/XP | 4 | 06-05-2011 07:11 | |
Принтер - Чистка принтера | ReAL | Прочее железо | 10 | 25-03-2011 15:31 | |
Чистка линз | crowlik | Оптические приводы | 18 | 21-04-2009 11:23 | |
Чистка рееестра | bona | Программное обеспечение Windows | 6 | 17-02-2008 05:57 |
|