Как можно удалить более 10 млн. файлов в одной папке по дате. Т.е. нужно удалить все файлы после 1 января 14 года, а их около 10 млн. Стандартный explorer даже не открывает папку. Total, FAR тоже виснет. Может у кого есть варианты решения? Система Windows, FS - NTFS.
» Удаление большого кол-ва файлов
если размер файлов позволяет, то есть вариант
заархивировать и удалить их при архивации и потом сам архив.
Добавлено:
[more=RAR — Обрабатывать файлы не старее, чем указанный период времени.]
Код: -tn<период>
Обрабатывать файлы не старее, чем указанный период времени.
Задающая время строка имеет следующий формат:
[<дни>d][<часы>h][<минуты>m][<секунды>s]
Например, для обработки файлов, изменённых менее 15 дней назад,
используйте ключ '-tn15d', а для обработки файлов, изменённых
менее чем 2 часа 15 минут назад, используйте '-tn2h15m'.
-to<период>
Обрабатывать файлы более старые, чем указанный период времени.
По формату аналогичен ключу '-tn<период>'.
заархивировать и удалить их при архивации и потом сам архив.
Добавлено:
[more=RAR — Обрабатывать файлы не старее, чем указанный период времени.]
Код: -tn<период>
Обрабатывать файлы не старее, чем указанный период времени.
Задающая время строка имеет следующий формат:
[<дни>d][<часы>h][<минуты>m][<секунды>s]
Например, для обработки файлов, изменённых менее 15 дней назад,
используйте ключ '-tn15d', а для обработки файлов, изменённых
менее чем 2 часа 15 минут назад, используйте '-tn2h15m'.
-to<период>
Обрабатывать файлы более старые, чем указанный период времени.
По формату аналогичен ключу '-tn<период>'.
Интересно было бы узнать как с такой задачей справится nonWindows OS.
Доброе время
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"
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"
Alex_Piggy
Мне более интересней не о времени удаления а об открытии папки с таким содержимым.
И 10 тысяч это не 10 миллионов:
- с 10 тысячами и винда может не тупить
- а с чуть более 10 тыс вдруг и линукс зависнет.
Мне более интересней не о времени удаления а об открытии папки с таким содержимым.
И 10 тысяч это не 10 миллионов:
- с 10 тысячами и винда может не тупить
- а с чуть более 10 тыс вдруг и линукс зависнет.
можно попробовать через образ. создать образ раздела с папкой(может самой папки получится), папку удалить, а с образом работать. но с таким количеством файлов задержки на составление списков будут все равно большими. вот образ быстро слепится хоть сколько там файлов
Alex_Piggy
10 тысяч файлов даже за 5 секунд можно, но когда 10 млн файлов - это уже другая ситуация. Здесь по аналогии "10 тысяч - 12 секунд, 10 млн - 12000 секунд" - не пройдет. образ тоже не вариант.
bomzzz
Папка сама нужна. в ней останутся файлы старше 1 января 2014года.
10 тысяч файлов даже за 5 секунд можно, но когда 10 млн файлов - это уже другая ситуация. Здесь по аналогии "10 тысяч - 12 секунд, 10 млн - 12000 секунд" - не пройдет. образ тоже не вариант.
bomzzz
Папка сама нужна. в ней останутся файлы старше 1 января 2014года.
Vladsn007
Вы пробовали? За сколько времени удалилась первая и вторая партия на VBS?
Разве что ув. bomzzz набросает на ASM. Меня и эта скорость весьма и весьма удивила.
find есть и портированный в составе GnuWin32 FindUtils. Нужно только содержимое папок bin из архивов с binaries
На всякий случай уточнение - я понял "все файлы после 1 января 14 года" как "удалить файлы за 2014 год и начало 2015".
9285
Предложить с LiveCD загрузится и проверить/сравнить?
Вы пробовали? За сколько времени удалилась первая и вторая партия на VBS?
Разве что ув. bomzzz набросает на ASM. Меня и эта скорость весьма и весьма удивила.
find есть и портированный в составе GnuWin32 FindUtils. Нужно только содержимое папок bin из архивов с binaries
На всякий случай уточнение - я понял "все файлы после 1 января 14 года" как "удалить файлы за 2014 год и начало 2015".
9285
Предложить с LiveCD загрузится и проверить/сравнить?
Vladsn007
Цитата:
Здесь по аналогии "10 тысяч - 12 секунд, 10 млн - 12000 секунд" - не пройдетВам время важно или результат?
Цитата:
Предложить с LiveCD загрузится и проверить/сравнить?
А почему бы и нет?
Inoz2000
В начальной задаче не написано про время - но зато есть про проблемы с открытием такой папки.
Сам сталкивался с папками с большим числом файлов (например корзина), при открытии которых получал дичайшие тормоза. В том числе и в системах где отключена запись времени последнего доступа к файлам. После удаления энного кол-ва файлов всё отвисает.
Ну а по поводу аналогий. Если мужик удовлетворяет женщину за 5 минут, то получается что за сам он может удовлетворить 12?
9285 (12:37 02-02-2015)
Цитата:
Цитата:
Сам сталкивался с папками с большим числом файлов (например корзина), при открытии которых получал дичайшие тормоза. В том числе и в системах где отключена запись времени последнего доступа к файлам. После удаления энного кол-ва файлов всё отвисает.А кого собственно волнуют проблемы виндовса эксплорера. Взять тотал, а эксплореру понизить приоритет ввода-вывода, и всьо.. Или удалять другим удалятором при аналогичных условиях. Шуршать будет дольше, зато по тихому.
boi1eI
Я понимаю что ты экстрателепат, но лучше попробуй почитать осмыслено (специально жирным выделил для тебя)
Цитата:
Я понимаю что ты экстрателепат, но лучше попробуй почитать осмыслено (специально жирным выделил для тебя)
Цитата:
Total, FAR тоже виснет
9285
Ну я так так и понял, что вы не в курсах. Виснуть он (процесс индексации) будет долго и упорно, но если его как следует долго не трогать, то в конце концов довиснет дело до конца.
А чтобы вместе с ним не висло все остальное, ему и понижают приоритет I/O
Ну я так так и понял, что вы не в курсах. Виснуть он (процесс индексации) будет долго и упорно, но если его как следует долго не трогать, то в конце концов довиснет дело до конца.
А чтобы вместе с ним не висло все остальное, ему и понижают приоритет I/O
Можно загрузится с livecd любого линукс дистрибутива и попробовать удалить файлы, как пример Kaspersky Rescue Disk на КДЕ.
boi1eI
Сколько ждать - день, месяц, два?
И читать умеешь? Я вообще то писал что отвисло после удаления части файлов - так что долго не трогав дожидался.
Сколько ждать - день, месяц, два?
И читать умеешь? Я вообще то писал что отвисло после удаления части файлов - так что долго не трогав дожидался.
9285 (14:12 02-02-2015)
Цитата:
Цитата:
Сколько ждать - день, месяц, два?С таким количеством файлов долго и файловыми менеджерами ненадежно, имхо. Могут и покрошиться в процессе. Лучше скриптами делать. Чудес нет, в любом случае будет небыстро.
Вариант с LiveCD не подойдет, файлы находятся на сервере, который нельзя перезагружать.
Страницы: 1
Предыдущая тема: Изменение политики безопасности windows 7
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.