Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление определенных файлов из директории 
:(
    Опции темы
henzo
Дата 28.2.2010, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.2.2010

Репутация: нет
Всего: нет



Например есть у нас в папке файлы 1.txt, 1s.txt, 56.txt, 56i.txt.
После цифр идет только одна буква.
Вот нужно удалить все файлы, в которых присутствуют буквы и оставить только 1.txt, 56.txt итд.
Сейчас я удаляю все это через стандартный поиск виндовс через поиск-*a.txt, *b.txt но сами понимаете способ ###, но к сожалению это лучшее из того, что я придумал. Посоветуйте пожалуйста что нибудь.
PM MAIL   Вверх
THandle
Дата 28.2.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



henzo, ну если файлов немного, то можно перебирать их FindFirst/Next, потом проверять содержит ли их имя букву(можно просто пробуя преобразовать а число(но тут и всякие - в имени файла не преобразуются), либо поиском в имени буквы... Но это довольно медленные проверки и на огромных папках я бы такой метод наверное не рискнул бы применить. 
PM   Вверх
henzo
Дата 28.2.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.2.2010

Репутация: нет
Всего: нет



да в этом то и дело что файлов много, ручками я конечно сейчас перебираю, но времени это не хило отнимает
PM MAIL   Вверх
Dom
Дата 28.2.2010, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 7.8.2005

Репутация: 3
Всего: 4



Или такой вариант, если формат имен файлов только такой и никак иначе, то можно проверять код пятого с конца символа, если он не попадает в диапазон чисел, то файл удалять.
PM MAIL   Вверх
Данкинг
Дата 28.2.2010, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Ну дык, отбрасываешь расширение и делаешь цикл по длине строки, перебирая её символы. Если не цифра - то цикл тормозим и файл грохаем. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Snowy
Дата 1.3.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Код
  if TryStrToInt(copy(fname, 1, Length(fname) - Length(ExtractFileExt(fname))), i) then

где i - integer, а fname - имя файла.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.