Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Удаление большого кол-ва файлов

Автор: Vladsn007
Дата сообщения: 01.02.2015 21:23
Как можно удалить более 10 млн. файлов в одной папке по дате. Т.е. нужно удалить все файлы после 1 января 14 года, а их около 10 млн. Стандартный explorer даже не открывает папку. Total, FAR тоже виснет. Может у кого есть варианты решения? Система Windows, FS - NTFS.
Автор: Inoz2000
Дата сообщения: 01.02.2015 23:10
если размер файлов позволяет, то есть вариант
заархивировать и удалить их при архивации и потом сам архив.

Добавлено:
[more=RAR — Обрабатывать файлы не старее, чем указанный период времени.]
Код: -tn<период>
Обрабатывать файлы не старее, чем указанный период времени.

Задающая время строка имеет следующий формат:

[<дни>d][<часы>h][<минуты>m][<секунды>s]

Например, для обработки файлов, изменённых менее 15 дней назад,
используйте ключ '-tn15d', а для обработки файлов, изменённых
менее чем 2 часа 15 минут назад, используйте '-tn2h15m'.


-to<период>
Обрабатывать файлы более старые, чем указанный период времени.

По формату аналогичен ключу '-tn<период>'.
Автор: 9285
Дата сообщения: 02.02.2015 00:45
Интересно было бы узнать как с такой задачей справится nonWindows OS.
Автор: Alex_Piggy
Дата сообщения: 02.02.2015 01:31
Доброе время
Vladsn007
Разве что VBS скриптом - 10000 файлов за 15 с.

Код:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("test")
For Each File In Folder.Files
If File.DateLastModified > DateValue("01.01.2014") Then File.Delete
counter = counter + 1 : If counter mod 10000 = 0 Then If WshShell.Popup("Removed " & counter, 1, "File remover", 17)=2 Then Wscript.Quit
Next
MsgBox "Win"
Автор: 9285
Дата сообщения: 02.02.2015 01:38
Alex_Piggy
Мне более интересней не о времени удаления а об открытии папки с таким содержимым.
И 10 тысяч это не 10 миллионов:
- с 10 тысячами и винда может не тупить
- а с чуть более 10 тыс вдруг и линукс зависнет.
Автор: bomzzz
Дата сообщения: 02.02.2015 01:52
можно попробовать через образ. создать образ раздела с папкой(может самой папки получится), папку удалить, а с образом работать. но с таким количеством файлов задержки на составление списков будут все равно большими. вот образ быстро слепится хоть сколько там файлов
Автор: Vladsn007
Дата сообщения: 02.02.2015 07:09
Alex_Piggy

10 тысяч файлов даже за 5 секунд можно, но когда 10 млн файлов - это уже другая ситуация. Здесь по аналогии "10 тысяч - 12 секунд, 10 млн - 12000 секунд" - не пройдет. образ тоже не вариант.

bomzzz
Папка сама нужна. в ней останутся файлы старше 1 января 2014года.
Автор: Alex_Piggy
Дата сообщения: 02.02.2015 09:28
Vladsn007
Вы пробовали? За сколько времени удалилась первая и вторая партия на VBS?
Разве что ув. bomzzz набросает на ASM. Меня и эта скорость весьма и весьма удивила.
find есть и портированный в составе GnuWin32 FindUtils. Нужно только содержимое папок bin из архивов с binaries
На всякий случай уточнение - я понял "все файлы после 1 января 14 года" как "удалить файлы за 2014 год и начало 2015".

9285
Предложить с LiveCD загрузится и проверить/сравнить?
Автор: Inoz2000
Дата сообщения: 02.02.2015 10:44

Vladsn007
Цитата:
Здесь по аналогии "10 тысяч - 12 секунд, 10 млн - 12000 секунд" - не пройдет
Вам время важно или результат?
Автор: 9285
Дата сообщения: 02.02.2015 11:37

Цитата:
Предложить с LiveCD загрузится и проверить/сравнить?

А почему бы и нет?

Inoz2000
В начальной задаче не написано про время - но зато есть про проблемы с открытием такой папки.
Сам сталкивался с папками с большим числом файлов (например корзина), при открытии которых получал дичайшие тормоза. В том числе и в системах где отключена запись времени последнего доступа к файлам. После удаления энного кол-ва файлов всё отвисает.

Ну а по поводу аналогий. Если мужик удовлетворяет женщину за 5 минут, то получается что за сам он может удовлетворить 12?
Автор: boi1eI
Дата сообщения: 02.02.2015 11:59
9285 (12:37 02-02-2015)
Цитата:
Сам сталкивался с папками с большим числом файлов (например корзина), при открытии которых получал дичайшие тормоза. В том числе и в системах где отключена запись времени последнего доступа к файлам. После удаления энного кол-ва файлов всё отвисает.
А кого собственно волнуют проблемы виндовса эксплорера. Взять тотал, а эксплореру понизить приоритет ввода-вывода, и всьо.. Или удалять другим удалятором при аналогичных условиях. Шуршать будет дольше, зато по тихому.
Автор: 9285
Дата сообщения: 02.02.2015 12:03
boi1eI
Я понимаю что ты экстрателепат, но лучше попробуй почитать осмыслено (специально жирным выделил для тебя)

Цитата:
Total, FAR тоже виснет


Автор: boi1eI
Дата сообщения: 02.02.2015 12:22
9285
Ну я так так и понял, что вы не в курсах. Виснуть он (процесс индексации) будет долго и упорно, но если его как следует долго не трогать, то в конце концов довиснет дело до конца.
А чтобы вместе с ним не висло все остальное, ему и понижают приоритет I/O
Автор: Nilslis
Дата сообщения: 02.02.2015 12:27
Можно загрузится с livecd любого линукс дистрибутива и попробовать удалить файлы, как пример Kaspersky Rescue Disk на КДЕ.
Автор: 9285
Дата сообщения: 02.02.2015 13:12
boi1eI
Сколько ждать - день, месяц, два?
И читать умеешь? Я вообще то писал что отвисло после удаления части файлов - так что долго не трогав дожидался.
Автор: boi1eI
Дата сообщения: 02.02.2015 13:41
9285 (14:12 02-02-2015)
Цитата:
Сколько ждать - день, месяц, два?
С таким количеством файлов долго и файловыми менеджерами ненадежно, имхо. Могут и покрошиться в процессе. Лучше скриптами делать. Чудес нет, в любом случае будет небыстро.
Автор: Vladsn007
Дата сообщения: 02.02.2015 18:51
Вариант с LiveCD не подойдет, файлы находятся на сервере, который нельзя перезагружать.

Страницы: 1

Предыдущая тема: Изменение политики безопасности windows 7


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.