Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Удаление самой старой папки - Delphi / 25 сообщений из 43, страница 1 из 2
04.12.2017, 09:51
    #39563466
suzuki-bandit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Добрый день уважаемые программисты
Имеется такая задача
Есть 3 папки
как показано на скрине
Данные папки не трудно догадаться созданы соответственно:
2017-12-01
2017-11-24
2017-11-17
Я каждую неделею удалаю самую старую папку
т.е. в эту неделю я удалю 2017-11-17 т.к. она самая старая
как мне программно найти среди папок самую старую и удалить ее
путь к ним скажем такой такой:

C:\папки\ и тут они лежат


Каждую недю создается новая папка
т.е. на след недели будет папка 2017-12-08 и самой старой уже будет 2017-11-24
...
Рейтинг: 0 / 0
04.12.2017, 10:05
    #39563475
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
удаляй
кто ж тебе мешает
вопрос то какой?
...
Рейтинг: 0 / 0
04.12.2017, 10:06
    #39563477
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Просто отсортируй строки.

Например через TStringList.Sort.
...
Рейтинг: 0 / 0
04.12.2017, 10:12
    #39563480
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
suzuki-bandit,

не слушай этих лентяев. Пузырьком сортируй.
...
Рейтинг: 0 / 0
04.12.2017, 10:37
    #39563500
suzuki-bandit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Пример имеется??
...
Рейтинг: 0 / 0
04.12.2017, 10:39
    #39563502
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Господа, мне нужно сложить 2+2. Киньте пример, пожалуйста.
...
Рейтинг: 0 / 0
04.12.2017, 10:41
    #39563504
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
К слову - лучше делать на Power Shell. Delphi тут зачем? Bat вроде бы так не может, а то бы и им.
...
Рейтинг: 0 / 0
04.12.2017, 11:31
    #39563551
Glays
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
...
Рейтинг: 0 / 0
04.12.2017, 11:49
    #39563570
suzuki-bandit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Спасибо, помогли товарищи
...
Рейтинг: 0 / 0
04.12.2017, 11:50
    #39563572
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
makhaonК слову - лучше делать на Power Shell. Delphi тут зачем? Bat вроде бы так не может, а то бы и им.
Да неужто?

Код: plaintext
1.
2.
3.
dir /b | sort    - по имени
dir /b | sort /r - по имени (в обратном порядке)
dir /b /od       - по дате (старые сверху)
dir /b /o-d      - по дате (новые сверху)
...
Рейтинг: 0 / 0
04.12.2017, 11:53
    #39563573
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
alekcvp,

и?
...
Рейтинг: 0 / 0
04.12.2017, 11:55
    #39563576
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
makhaonalekcvp,
и?
Ну вдруг вам пригодится, раз вы не знали :)
...
Рейтинг: 0 / 0
04.12.2017, 12:19
    #39563601
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
что мне поможет - дело десятое, задачу решить как поможет? :)
...
Рейтинг: 0 / 0
04.12.2017, 12:24
    #39563603
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
suzuki-bandit,

Тебе нужно
- найти список папок в заданной папке.
- Определить дату создания каждой из этих папок и найти самую раннюю дату
- удалить эту папку.
По поводу дат советую почитать о формате дат и времени в Дельфи.
Для работы с папками и файлами в более новых версиях Дельфи есть удобные классы. Для директории вот:
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.IOUtils.TDirectory
С его помощью можно решить все 3 задачи, кроме определения самой ранней даты. Найти самую раннюю придется самостоятельно. Можно это сделать, просто перебрав все директории по очереди.
...
Рейтинг: 0 / 0
04.12.2017, 13:14
    #39563643
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
s62Определить дату создания каждой из этих папок и найти самую раннюю датуДа у него же в названии дата, что хорошо.
...
Рейтинг: 0 / 0
04.12.2017, 14:03
    #39563688
suzuki-bandit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
s62suzuki-bandit,

Тебе нужно
- найти список папок в заданной папке.
- Определить дату создания каждой из этих папок и найти самую раннюю дату
- удалить эту папку.
По поводу дат советую почитать о формате дат и времени в Дельфи.
Для работы с папками и файлами в более новых версиях Дельфи есть удобные классы. Для директории вот:
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.IOUtils.TDirectory
С его помощью можно решить все 3 задачи, кроме определения самой ранней даты. Найти самую раннюю придется самостоятельно. Можно это сделать, просто перебрав все директории по очереди.
Как найти списмок папок в заданной папке???
...
Рейтинг: 0 / 0
04.12.2017, 14:10
    #39563695
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
suzuki-bandit,


Здесь
...
Рейтинг: 0 / 0
04.12.2017, 14:12
    #39563697
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
suzuki-bandit,

нужна визуальная программа ?
ос виндовс ?
...
Рейтинг: 0 / 0
04.12.2017, 14:16
    #39563704
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Открываешь папку в проводнике > для сортировки кликаешь по колонке Имя > удаляешь последнюю в списке папку
...
Рейтинг: 0 / 0
04.12.2017, 14:20
    #39563709
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
кстати, в программе на скрине нет сортировки по колонке Name ?
...
Рейтинг: 0 / 0
04.12.2017, 14:27
    #39563716
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
удалять самую старую папку по имени - это феерично
а завтра поменяешь алгоритм формирования имени и что?
...
Рейтинг: 0 / 0
04.12.2017, 14:40
    #39563735
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
считаешь, что надежнее по дате создания папки ?

а если, к примеру, эти папки ему по ФТП в хранилище приходят в один день, то и дата создания будет одна.
какую тогда удалим?

так что, тут самый надежный способ по имени.
алгоритм формирования имени правильный и не надо менять
...
Рейтинг: 0 / 0
04.12.2017, 14:46
    #39563743
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
Ghost Writerсчитаешь, что надежнее по дате создания папки ?

а если, к примеру, эти папки ему по ФТП в хранилище приходят в один день, то и дата создания будет одна.
какую тогда удалим?

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

задача поставлена явно - удалить самую старую
тут делов на минуту - цикл FindFirst и все
не, давайте парсить имя!
которое наверняка уже и получено этим FindFirst и время там есть
ну удачи
...
Рейтинг: 0 / 0
04.12.2017, 14:50
    #39563751
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
А если ппака единственная ? Удалить ? :)
...
Рейтинг: 0 / 0
04.12.2017, 14:52
    #39563753
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление самой старой папки - Delphi
LSVА если ппака единственная ? Удалить ? :)

не читатель?
есть 3 папки
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Удаление самой старой папки - Delphi / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]